Skip to content

[Bug]: Nomad page renderer stops responding when navigating away from a loading node #91

Description

@Sudo-Ivan

MeshChatX version

4.8.6

Operating system

All platforms (observed in the Electron desktop build)

OS details (if Other)

No response

How did you install MeshChatX?

Electron desktop build

What happened?

The Nomad page renderer shows a "renderer stopped responding" toast repeatedly. It can be triggered by clicking an announced node and then navigating away from the Nomad browser before the page finishes loading. The renderer overlay appears with reload/cancel buttons and the tab never recovers without a manual reload.

This looks like the crash-tab watchdog is firing after the user has already left the page, or a render that started in NomadNetworkPage is not being cancelled when the current node is cleared. The isCrashTabRendering flag stays true, the WATCHDOG_STALL_MS / RENDER_DEADLINE_MS timers in NomadCrashTab.vue expire, and onCrashTabHung() in NomadNetworkPage.vue emits a ToastUtils.warning for nomadnet.crash_tab_hung_toast.

Steps to reproduce

  1. Open the Nomad Network tool.
  2. Click on an announced node in the sidebar.
  3. While the page is still loading, click another tool or otherwise navigate away from the Nomad browser before the content renders.
  4. Wait a few seconds.
  5. Observe the toast / banner saying the Nomad page renderer stopped responding.

Logs or error output

No backend crash. Frontend behavior points to:

  • NomadCrashTab.vue lines 53-62 (watchdog constants WATCHDOG_MS, WATCHDOG_STALL_MS, RENDER_DEADLINE_MS)
  • NomadCrashTab.vue lines 408-436 (armRenderDeadline sets status = "hung" and emits hung)
  • NomadNetworkPage.vue lines 2623-2626 (onCrashTabHung clears isCrashTabRendering and toasts)
  • NomadNetworkPage.vue lines 2714-2722 (beginCrashTabRenderWait sets isCrashTabRendering = true without checking whether the user has already left the page)
  • NomadNetworkPage.vue lines 2272-2374 (loadNodePage sets nodePageContent and calls beginCrashTabRenderWait from a callback)

Checklist

  • I searched existing issues to avoid duplicates
  • I included my MeshChatX version and operating system

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions