Skip to content

Fix node-details remove action to preserve confirmation flow#5192

Merged
jamesarich merged 3 commits intomainfrom
copilot/fix-remove-node-from-individual-page
Apr 20, 2026
Merged

Fix node-details remove action to preserve confirmation flow#5192
jamesarich merged 3 commits intomainfrom
copilot/fix-remove-node-from-individual-page

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 19, 2026

Removing a node works from the node list but fails from the individual node details screen. The details flow was navigating away immediately on remove, interrupting the confirmation/removal path.

  • Root cause

    • NodeMenuAction.Remove in node details invoked onNavigateUp() immediately after dispatching the remove action.
  • Code change

    • Updated shared node-details action handling to not navigate up on remove.
    • Remove now follows the same confirmation-first behavior as node list removal.
  • Regression coverage

    • Added HandleNodeActionTest in feature:node common tests to verify:
      • remove delegates to NodeManagementActions.requestRemoveNode(...)
      • no immediate navigation occurs
// before
is NodeMenuAction.Remove -> {
    viewModel.handleNodeMenuAction(menuAction)
    onNavigateUp()
}

// after
is NodeMenuAction.Remove -> viewModel.handleNodeMenuAction(menuAction)

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • dl.google.com
    • Triggering command: /usr/lib/jvm/temurin-21-jdk-amd64/bin/java /usr/lib/jvm/temurin-21-jdk-amd64/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.xml/javax.xml.namespace=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED -XX:+UseParallelGC -XX:MaxMetaspaceSize=2g -XX:+HeapDumpOnOutOfMemoryError -Xmx8g -Dfile.encoding=UTF-8 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title [WIP] Fix bug removing node from individual node page Fix node-details remove action to preserve confirmation flow Apr 19, 2026
Copilot AI requested a review from jamesarich April 19, 2026 21:12
After the user taps Confirm on the remove-node dialog, the screen was
left in a dead end showing ghost data. CommonGetNodeDetailsUseCase
substitutes a fallback node rather than emitting null, so the UI had
no signal to navigate away.

Fix: thread an onAfterRemove callback through requestRemoveNode →
handleNodeMenuAction → handleNodeAction, so onNavigateUp is invoked
inside the onConfirm lambda immediately after removeNode() is launched.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jamesarich jamesarich marked this pull request as ready for review April 20, 2026 12:27
@jamesarich jamesarich enabled auto-merge April 20, 2026 12:27
@jamesarich jamesarich added this pull request to the merge queue Apr 20, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Apr 20, 2026
@jamesarich jamesarich added this pull request to the merge queue Apr 20, 2026
Merged via the queue into main with commit 7492a33 Apr 20, 2026
11 checks passed
@jamesarich jamesarich deleted the copilot/fix-remove-node-from-individual-page branch April 20, 2026 16:08
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.

[Bug]: Removing node from node list works, removing node from individual node page does not work

2 participants