Skip to content

Conversation

@ellemouton
Copy link
Collaborator

@ellemouton ellemouton commented Dec 2, 2025

This issue seems to have re-surfaced this bug. The symptom of that bug was fixed in this pr but the root cause is still unknown.

With the graph refactor work done in the last release, some extra validation in the graph Builder has resurfaced the bug. So here we just let the "add missing edge" logic directly route through to the graph DB instead of going through the graph Builder where the extra checks are. the extra check in question is setting the funding script so that the chain view can then be updated - but i dont think this is important for our own channels since this chainview is used to know when a channel can be pruned from the graph (we would not prune our own channels anyways)

@gemini-code-assist
Copy link

Summary of Changes

Hello @ellemouton, 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 refactors the server's logic for adding graph edges. The primary goal is to ensure that channel edges are directly persisted to the graph database. By switching from s.graphBuilder.AddEdge to s.graphDB.AddChannelEdge, the change streamlines the process of recording network topology, potentially resolving issues where edges might have been missed or incorrectly processed through the builder layer.

Highlights

  • Direct Graph Edge Addition: The AddEdge function within the newServer's graph interface implementation has been updated to directly call s.graphDB.AddChannelEdge. This change bypasses the graphBuilder for adding channel edges, ensuring a more direct interaction with the graph database.
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 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 counter productive. 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.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

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.

@ziggie1984 ziggie1984 self-requested a review December 2, 2025 17:19
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

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 refactors the localChanMgr initialization to directly use graphDB.AddChannelEdge instead of graphBuilder.AddEdge. This is a good change as it bypasses the logic in graph.Builder that is specific to handling external gossip messages, such as erroring on existing channel edges. The graph.Builder's behavior is not suitable for the localChanMgr, which needs to ensure a local channel edge exists in the graph. The new implementation is more direct and correct for this purpose. The change is clean and has no apparent side effects. I approve.

@saubyk saubyk requested a review from bitromortac December 2, 2025 17:39
@saubyk saubyk added this to the v0.20.1 milestone Dec 2, 2025
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