Skip to content

Remove RBF coop close staging feature bits#10891

Open
MPins wants to merge 2 commits into
lightningnetwork:masterfrom
MPins:issue-9892
Open

Remove RBF coop close staging feature bits#10891
MPins wants to merge 2 commits into
lightningnetwork:masterfrom
MPins:issue-9892

Conversation

@MPins

@MPins MPins commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Fixes #9892

Now that the final RBF-based co-op close feature bits (rbf-coop-close, bits 60/61) have been in production for a while, the staging feature bits (rbf-coop-close-x, bits 160/161) are no longer needed.

Now that the final RBF-based co-op close feature bits (rbf-coop-close,
bits 60/61) have been in production for a while, the staging feature
bits (rbf-coop-close-x, bits 160/161) are no longer needed.
@gemini-code-assist

Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request cleans up the codebase by removing deprecated staging feature bits associated with the RBF-based co-op close protocol. Since the final production feature bits have been successfully deployed for a sufficient period, the staging bits are no longer required for signaling or negotiation, allowing for a simplified feature set and reduced technical debt.

Highlights

  • Feature Bit Removal: Removed the staging feature bits (rbf-coop-close-x, bits 160/161) for the RBF-based co-op close protocol as the final bits are now in production.
  • Code Cleanup: Updated feature management logic, default sets, and peer negotiation checks to remove references to the deprecated staging bits.
  • Documentation: Added a release note entry documenting the removal of the staging feature bits.
New Features

🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request removes the staging feature bits for the RBF-based co-op close protocol (rbf-coop-close-x, bits 160/161) from the codebase, including the feature manager, default sets, wire definitions, and peer connection logic. A review comment suggests adding nil checks for RemoteFeatures() and LocalFeatures() in rbfCoopCloseAllowed() to prevent potential nil pointer dereference panics.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread peer/brontide.go
@MPins MPins changed the title Remove RBF co-op close staging feature bits Remove RBF coop close staging feature bits Jun 10, 2026
@github-actions github-actions Bot added the severity-critical Requires expert review - security/consensus critical label Jun 10, 2026
@github-actions

Copy link
Copy Markdown

PR Severity: CRITICAL | Automated classification | 5 files | 31 lines changed

CRITICAL files: lnwire/features.go (wire protocol messages), peer/brontide.go (peer connections/Noise protocol)
HIGH files: feature/default_sets.go, feature/manager.go (feature bit management)
LOW files: docs/release-notes/release-notes-0.22.0.md

Analysis: lnwire/features.go and peer/brontide.go are CRITICAL packages. Feature bit changes affect protocol negotiation across all Lightning nodes. PR removes feature bits (net -13 lines) suggesting experimental feature deprecation. Expert review required for backward compatibility with peers still advertising removed features.

To override: add severity-override-{critical,high,medium,low} label.
<!-- pr-severity-bot -->

@saubyk saubyk added this to the v0.22.0 milestone Jun 10, 2026
@saubyk saubyk added this to lnd v0.22 Jun 10, 2026
@github-project-automation github-project-automation Bot moved this to Backlog in lnd v0.22 Jun 10, 2026
@saubyk saubyk moved this from Backlog to In progress in lnd v0.22 Jun 10, 2026
@lightninglabs-deploy

Copy link
Copy Markdown
Collaborator

@MPins, remember to re-request review from reviewers when ready

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

severity-critical Requires expert review - security/consensus critical

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

Remove RbfCoopCloseOptionalStaging in LND 20 or later

3 participants