Dashboard: hover-gate actions, stop the relay on every QR dismissal path - #4
Open
AadhilFarhan wants to merge 1 commit into
Open
Dashboard: hover-gate actions, stop the relay on every QR dismissal path#4AadhilFarhan wants to merge 1 commit into
AadhilFarhan wants to merge 1 commit into
Conversation
DashboardRow's action buttons rendered unconditionally whenever a row wasn't mid-kill, unlike ServerRow's hover-gated equivalent — inconsistent with the project's stated hover-revealed-actions convention. Now gated on hovering, same as ServerRow. QRPanel's Done button was the only path that stopped a relayed share; dismissing the popover by clicking away (DashboardRow) or re-tapping the QR icon to collapse it (ServerRow) both skip that button entirely, so the relay kept running with only the small "sharing" badge as any trace. Moved the stop-sharing call into onDisappear, which fires on every dismissal path regardless of how it happened, and removed the now-redundant explicit call from the Done button.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Two related bugs in the Dashboard's row UI:
Missing hover gate.
DashboardRow's four action buttons (open, copy, QR, kill) rendered unconditionally whenever the row wasn't mid-kill — unlikeServerRow, which only shows them on hover. This contradicts the project's stated "hover-revealed actions" convention (checkedCLAUDE.md: it documentsServerRowas hover-revealed and says nothing aboutDashboardRowneeding to differ). Now gated onhovering, same asServerRow— the port badge stays always-visible either way.Relay leak on dismissal.
QRPanel's "Done" button was the only path that calledmodel.stopSharing. Dismissing any other way — clicking away fromDashboardRow's system.popover, or re-tapping the QR icon inServerRowto collapse the inline panel — skips the Done button entirely, so a relayed share keeps running with nothing but the small "sharing" badge as a trace. Fixed once, inQRPanelitself (not per call site), by moving the stop-sharing call into.onDisappear, which fires regardless of how the view goes away. Removed the now-redundant explicit call from the Done button.(2) also fixes the equivalent latent bug in
ServerRow's inline QR panel, not just the Dashboard's popover — same root cause, same fix.Test plan