fix: restore explore button on transfers#1037
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Greptile SummaryThis PR restores the Explore button for transfer activities (channel opens/closes, including force closes) by removing the mutually-exclusive if/else that previously swapped Explore for Connection on transfers. Both buttons now appear: Explore in the shared Boost/Explore row, and Connection as a new full-width row shown only for transfers.
Confidence Score: 5/5Safe to merge — a small, well-scoped UI layout change with no logic regressions and a clear fix for a missing navigation path. The change simply removes a conditional that was suppressing the Explore button on transfer activities, and moves the Connection button into its own always-visible row. All existing activity types (on-chain, Lightning, transfer) retain their correct buttons; the only new visible element is the Connection row for transfers, which was already implemented and tested. No data, state, or business logic is touched. No files require special attention.
|
| Filename | Overview |
|---|---|
| app/src/main/java/to/bitkit/ui/screens/wallets/activity/ActivityDetailScreen.kt | Layout refactored: Explore button always shown in the Boost/Explore row; Connection button moved to its own full-width row, conditionally rendered for transfers. Change is correct and isolated. |
| changelog.d/next/1037.fixed.md | New changelog entry accurately describing the fix. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Activity Detail Screen] --> B[Boost / Explore Row]
B --> C[Boost Button]
B --> D[Explore Button always shown]
A --> E{isTransfer && channelId != null && onChannelClick != null?}
E -- Yes --> F[Connection Button full-width row]
E -- No --> G[Nothing rendered]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[Activity Detail Screen] --> B[Boost / Explore Row]
B --> C[Boost Button]
B --> D[Explore Button always shown]
A --> E{isTransfer && channelId != null && onChannelClick != null?}
E -- Yes --> F[Connection Button full-width row]
E -- No --> G[Nothing rendered]
Reviews (1): Last reviewed commit: "Merge branch 'master' into fix/transfer-..." | Re-trigger Greptile
This PR restores access to the on-chain details for transfer activities, including force closes. Ports synonymdev/bitkit-ios#597.
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 detail screen: the transfer layout replaced the Explore button with a Connection button, and Connection only opens the channel, not the transaction.
Figma Designs:
Preview
connection-oppened.webm
regular-ln.webm
regular-receive.webm
connection-closed.webm
QA Notes
Manual Tests
regression:received on-chain activity → Activity Detail: Explore appears in its usual slot, with no extra Connection row.regression:LN payment → Activity Detail: unchanged; Explore opens the preimage and invoice details.Automated Checks
ActivityDetailViewModelTest.ktis unaffected (no button-layout assertions); it still passes.just compileandjust lint.