Repository navigation
fix: lightning connection rows open from anywhere - #1202
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
[Low impact] This PR appears safe to merge. SummaryAdds
Reviews (1) · Last reviewed commit: "fix: lightning connection rows open from..." · Reviewed by Greptile |
talosmachina
left a comment
There was a problem hiding this comment.
No findings. Gives the pending Lightning connection row's label a rectangular contentShape, so taps in the Spacer gaps under PlainButtonStyle reach the button. Reviewed f4434b3, light tier, static: iOS does not build on Linux, so this was reasoned from the code and CI.
What I checked, and 3 candidates I ruled out
Read in full: Bitkit/Views/Settings/Advanced/LightningConnectionsView.swift at the head, changelog.d/next/1202.fixed.md
CI at review time: SwiftFormat, validate and Greptile green; Run Tests, Run Integration Tests and build-local still pending
Ruled out
- Hit area bleeding into the next row: the shape is applied to the label's
VStack, and the 16pt gap between rows is the outerVStack(spacing: 16), outside every label, so a tap there still selects nothing rather than the wrong row. - Open and closed rows left out: they use the default button style, which already hit-tests the whole label frame, so the one-line scope matches the bug.
- Changelog fragment:
changelog.d/next/<pr>.fixed.mdmatches the existing fragments onmaster.
Merge confidence: 4/5, the unit and build jobs were still pending and no test covers the hit area.
jvsena42
left a comment
There was a problem hiding this comment.
Approved. .contentShape(Rectangle()) on the pending row's label makes the whole row tappable under PlainButtonStyle. Open and closed rows use the default style, which already takes taps across the row, so only pending rows needed it. The tap area stays inside the row; dividers and spacing between rows are unchanged. The before/after videos cover the exact-point taps, so I didn't run a separate device gate for this one-line change.
|
Added to the 3.2.0 milestone: this PR came after the 3.1.0 cut and isn't picked for a 3.1.0 RC, so it ships in the next minor release. |
|
Tracked in #1203 under 3.2.0: a list-row tap bug found during the 3.1 RC that doesn't block it, so it goes to the next minor release, and the issue carries the milestone. |
Closes #1203
This PR makes pending Lightning connection rows open their details from a tap anywhere on the row.
List rows are expected to be tappable across their full width. On Settings → Advanced → Lightning Connections, a pending connection row opened its details only when the tap landed on drawn content: the name, the chevron or the capacity bar. Taps in the empty middle, between the name and the chevron or between the two amounts, did nothing. The row's button uses the plain button style, which hit-tests only drawn content, so the space a
Spacerleaves is not part of the button. Open and closed rows use the default style, which already takes taps across the whole row, so only pending rows change.Description
Out of Scope
Design
N/A — no UI changes.
Preview
Exact-point taps on an iPhone 17 Pro simulator with iOS 26.5; a red square marks each tap: the empty middle of the name row, the gap between the amounts, the row's lower padding, then the name. The row is a local fixture closed connection with the plain button style that pending rows use, because the simulator could not open a real channel. Each tap that reaches the row opens the details, which fail to load the fixture and return with a "Connection Not Found" toast.
conn-rows-before.mp4
conn-rows-after.mp4
QA Notes
Setup
A Bitkit build of this PR with a pending Lightning connection: for example, buy a channel through Transfer to Spending and check Settings → Advanced → Lightning Connections before it confirms. The same check applies to open and closed rows as regressions.
Journeys
N/A — not drivable; see Manual Tests.
Manual Tests
regression:Lightning Connections → tap the empty middle of an open row, and of a closed row after Show Closed & Failed → Connection details open — exact-point taps not in CapabilitiesAutomated Checks
N/A
Evidence
f4434b31: 2994 passed, 0 failed, 5 skipped.Gaps
Models used
claude-opus-5-5(reasoning:10)claude-opus-5-5(reasoning:10)Metadata note: reasoning values are this session's
reasoning_effortsetting as recorded in its system prompt.