Skip to content

Add debug settings scene#5967

Merged
j0ntz merged 1 commit intodevelopfrom
j0ntz/debug-settings-scene
Mar 11, 2026
Merged

Add debug settings scene#5967
j0ntz merged 1 commit intodevelopfrom
j0ntz/debug-settings-scene

Conversation

@j0ntz
Copy link
Contributor

@j0ntz j0ntz commented Feb 27, 2026

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

Description

image image image image

Asana task

Context

Asana task Add debug scene to settings requests a Developer Mode-only debug
scene under Settings to inspect:

  • chain nodes/servers with provenance distinctions,
  • engine dataDump output,
  • app logs.

Intentionally violating 1rem margin rules because this is a debug scene and we want all the space we can get

Changes

  • Added debugSettings navigation route and registered the new scene.
  • Added DebugScene with:
    • nodes/server inspection rendered from wallet dumpData() values,
    • per-wallet engine dumpData loading + display,
    • info and activity log viewing via readLogs().
  • Added Developer Mode row in Settings to open Debug scene.
  • Added localized strings for all new debug labels.
  • Added Unreleased (develop) changelog entry.

Requirements

If you have made any visual changes to the GUI. Make sure you have:

  • Tested on iOS device
  • Tested on Android device
  • Tested on small-screen device (iPod Touch)
  • Tested on large-screen device (tablet)

Note

Medium Risk
Although gated behind Developer Mode, this introduces new UI paths that surface and copy potentially sensitive wallet dump and log data; correctness and performance depend on dumpData() calls across wallets and log file reads.

Overview
Adds a new Developer Mode-only Debug settings screen (debugSettings) and wires it into navigation and the Settings developer section.

The new DebugScene lets developers expand wallets to inspect node/server configuration derived from wallet dumpData(), view full engine dataDump output, and view/refresh/copy info and activity logs via readLogs() (including long-press-to-copy for sections/rows). Localized strings and the Unreleased changelog entry are updated accordingly.

Written by Cursor Bugbot for commit 45c9997. This will update automatically on new commits. Configure here.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 10eb74f6a4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@j0ntz j0ntz force-pushed the j0ntz/debug-settings-scene branch 3 times, most recently from 4bcea08 to f184c3c Compare February 28, 2026 05:06
j0ntz

This comment was marked as off-topic.

Copy link
Contributor

@samholmes samholmes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well-structured debug scene that follows project conventions nicely. A few suggestions for reducing duplication and improving consistency — see inline comments.

@j0ntz
Copy link
Contributor Author

j0ntz commented Mar 4, 2026

Addressed all inline suggestions (dedupe wallet labels, remove unnecessary as-const, add Nodes empty state, document shared cache, and update effect deps/order).

@j0ntz j0ntz force-pushed the j0ntz/debug-settings-scene branch from 238c52f to 337d49a Compare March 5, 2026 00:03
@j0ntz j0ntz force-pushed the j0ntz/debug-settings-scene branch 2 times, most recently from 4cbe75b to 7d40e47 Compare March 10, 2026 23:54
@j0ntz j0ntz enabled auto-merge March 10, 2026 23:54
@j0ntz j0ntz force-pushed the j0ntz/debug-settings-scene branch from abfaff7 to 45c9997 Compare March 11, 2026 02:55
@j0ntz j0ntz disabled auto-merge March 11, 2026 02:55
@j0ntz j0ntz merged commit 2e15bfd into develop Mar 11, 2026
3 of 4 checks passed
@j0ntz j0ntz deleted the j0ntz/debug-settings-scene branch March 11, 2026 02:55
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

...prev,
[dumpKey]: !(prev[dumpKey] ?? false)
}
})
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Side effect inside React state updater function

Low Severity

handleDumpWalletPress sets the external variable shouldLoadDump as a side effect inside the setWalletExpandedMap state updater. React state updaters are expected to be pure functions. In Strict Mode, React may invoke updaters twice, causing shouldLoadDump to be written twice. While the current implementation happens to work (both invocations receive the same prev), this couples async dispatch logic to a state transition in a fragile way. Computing shouldLoadDump from refs before the setState call would be safer and clearer.

Fix in Cursor Fix in Web

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.

2 participants