fix: restore Explore button on transfers#597
Conversation
Channel closes (including force closes) and other transfers are stored as on-chain transactions, but the activity detail screen replaced the Explore button with Connection for transfers. That left no way to reach the on-chain details (transaction id, inputs and outputs, block explorer) for a force close, which is what issue synonymdev#361 reports. Add a dedicated full-width Explore row for transfer activities, alongside the existing Connection button, so the on-chain details are reachable again. Fixes synonymdev#361
Greptile SummaryThis PR fixes a regression where transfer activities (including force closes) had no path to on-chain transaction details. The Connection button replaced the Explore button for transfers, making the transaction ID and block explorer unreachable.
Confidence Score: 5/5Safe to merge — a tightly scoped UI fix with no data-layer changes. The change is small and self-contained: one computed property extracted, one conditional row added. The condition guarding the new Explore row ( No files require special attention.
|
| Filename | Overview |
|---|---|
| Bitkit/Views/Wallets/Activity/ActivityItemView.swift | Extracts exploreButton into a computed property and adds a full-width Explore row for transfers; conditions are mutually exclusive with the existing HStack logic, no duplication possible. |
| changelog.d/next/361.fixed.md | Standard changelog entry describing the fix; content accurately reflects the change. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Activity Item View — buttons] --> B{isTransfer?}
B -- No --> C[HStack: Boost + Explore]
B -- Yes --> D{transferChannelId != nil?}
D -- No --> E[HStack: Boost + Explore\nno extra row]
D -- Yes --> F[HStack: Boost + Connection]
F --> G[Full-width Explore row\nnew in this PR]
C --> H[navigate .activityExplorer]
E --> H
G --> H
F --> I[navigate .connectionDetail channelId]
Reviews (1): Last reviewed commit: "fix(activity): restore Explore button on..." | Re-trigger Greptile
Fixes #361
This PR restores access to the on-chain details for transfer activities, including force closes.
Description
A force close, like any channel close, settles on-chain, so Bitkit already stores it as an on-chain activity with a transaction id, inputs, outputs, and a block explorer link. Those details had become unreachable from the activity screen: the transfer detail layout replaced the "Explore" button with a "Connection" button, and "Connection" only opens the channel, not the transaction. Issue #361 shows a force close where there is no way to see the transaction id.
This adds a dedicated full-width "Explore" row for transfer activities, shown alongside the existing "Connection" button, so the on-chain transaction details are reachable again. Regular on-chain and Lightning activities are unchanged. The behavior applies to every transfer because a stored on-chain activity does not record whether a close was cooperative or forced, and both are real on-chain transactions with a transaction id worth surfacing.
Linked Issues/Tasks
#361 - [Bug] Force Close TX showing in the LN activity template
Screenshot / Video
Before (issue #361) on the left, after on the right:
QA Notes
Manual Tests
regression:received on-chain activity → Activity Item: Explore appears in its usual slot, with no extra row.regression:LN payment → Activity Item: unchanged; Explore opens preimage and invoice details.Automated Checks
AddressTypeIntegrationTestsfail only because the live Blocktank regtest deposit endpoint returns 404; they depend on that external service and are unrelated to this change.