Skip to content

Release 2.3.2#1076

Closed
pwltr wants to merge 4 commits into
masterfrom
release-2.3.2
Closed

Release 2.3.2#1076
pwltr wants to merge 4 commits into
masterfrom
release-2.3.2

Conversation

@pwltr

@pwltr pwltr commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

The purpose of this PR is only to run the e2e suite.

piotr-iohk and others added 4 commits July 14, 2026 17:01
* feat: show probe route fee

* fix: tune scorer fee params

* fix: address probe compile errors

* fix: use scorer defaults
@greptile-apps

greptile-apps Bot commented Jul 14, 2026

Copy link
Copy Markdown

Greptile Summary

This PR prepares the 2.3.2 release and updates Lightning probing behavior. The main changes are:

  • Version and changelog updates for 2.3.2.
  • LDK node dependency bump to rc.52.
  • Custom pathfinding scoring parameters during node setup.
  • Probe route-fee propagation into repository, view model, and settings UI.
  • Debug devtools commands for node probing and score resets.

Confidence Score: 4/5

The changed score reset flow can leave the Lightning node stopped after a successful delete and failed restart.

  • The probe result and UI changes are internally consistent.
  • The release and dependency changes are straightforward.
  • The reset flow needs recovery for the post-delete startup failure path.

app/src/main/java/to/bitkit/repositories/LightningRepo.kt

Important Files Changed

Filename Overview
gradle/libs.versions.toml Bumps ldk-node-android from rc.46 to rc.52, which carries the new probing and scoring API surface used by the app.
app/src/main/java/to/bitkit/services/LightningService.kt Adds custom scoring fee parameters and applies them during LDK node builder setup.
app/src/main/java/to/bitkit/repositories/LightningRepo.kt Adds route-fee data to probe outcomes, score-sync timestamp readiness data, and a devtools-facing pathfinding score reset flow.
app/src/debug/java/to/bitkit/dev/DevToolsProvider.kt Adds debug commands for node probing and pathfinding score resets.
app/src/main/java/to/bitkit/viewmodels/ProbingToolViewModel.kt Uses probe outcome route fees for the probing result model while keeping the existing capacity check flow.
app/src/main/java/to/bitkit/ui/screens/settings/ProbingToolScreen.kt Displays route fees in msat in the probing tool result UI.

Reviews (1): Last reviewed commit: "chore: version 2.3.2" | Re-trigger Greptile

Comment on lines +1667 to +1668
val resetAtSecs = nowMillis() / 1000

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Successful Delete Can Leave Node Stopped

When both VSS deletes succeed but the final start(walletIndex = walletIndex, shouldRetry = false) fails, this function returns that failure after the score objects have already been removed and the node is still stopped. The debug reset command only reports an error in that path, so a reset during a transient startup failure can leave the app without a running Lightning node until another restart path runs.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 596eb6c7de

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

graphNodeCount = graph?.nodeCount,
graphChannelCount = graph?.channelCount,
latestRgsSyncTimestamp = graph?.latestRgsSyncTimestamp,
latestPathfindingScoresSyncTimestamp = state.nodeStatus?.latestPathfindingScoresSyncTimestamp,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Read the live score timestamp for readiness

When resetScores restarts the node, LDK merges the external scores in its background scorer; if that completes after the last syncState() call during startup, _lightningState.nodeStatus still contains the old/null timestamp. Callers polling probeReadiness can then keep seeing stale latestPathfindingScoresSyncTimestamp even though lightningService.status has advanced, making the reset/e2e verification time out until some unrelated state refresh occurs.

Useful? React with 👍 / 👎.

return@withContext Result.failure(it)
}

val resetAtSecs = nowMillis() / 1000

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Return a marker that cannot equal the next sync

This returns the reset marker truncated to epoch seconds immediately before restarting the node. Because latestPathfindingScoresSyncTimestamp is also reported in whole seconds, a successful external-score merge that happens in the same second will equal this marker; any caller following the comment's strict-newer check will treat the reset as not refreshed, making the devtools/e2e flow flaky. Use a marker from before the delete/start boundary or make the comparison inclusive.

Useful? React with 👍 / 👎.

@piotr-iohk

Copy link
Copy Markdown
Collaborator

Re-Running from dispatch against release-2.3.2 branch: https://github.com/synonymdev/bitkit-android/actions/runs/29349079016/job/87140403130

The failures here are mostly caused by the fact that CI uses the workflow from the merge preview (release-2.3.2 into master), not from release-2.3.2 alone and there were changes to the e2e workflow in the meantime (e.g. hardware shard added) which spills into here as well.

@piotr-iohk

Copy link
Copy Markdown
Collaborator

Dispatch passed: https://github.com/synonymdev/bitkit-android/actions/runs/29349079016/job/87142127256
(the single @paykit failure may be ignored, it is due to old fixture pubky used in e2e staging that was fixed and changed in paykit refactor PR that is in 2.4.0)

@pwltr pwltr closed this Jul 14, 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