Skip to content

feat(settings): Developer Options with LAN devnet import#181

Merged
Nic-dorman merged 1 commit into
mainfrom
feat/lan-devnet-manifest
Jul 15, 2026
Merged

feat(settings): Developer Options with LAN devnet import#181
Nic-dorman merged 1 commit into
mainfrom
feat/lan-devnet-manifest

Conversation

@Nic-dorman

Copy link
Copy Markdown
Contributor

Adds a Developer Options section to Settings → Advanced for testing against non-production networks. Consumes the manifest served by ant-node#174 (ant-devnet --serve-port). (Sibling PR for upload/download changes is separate.)

LAN devnet

  • Paste a host:port for an ant-devnet --serve-port host. Apply & Restart fetches its manifest (import_devnet_manifest_urlGET /api/devnet-manifest.json), validates it, and writes it to the shared data dir — the same file a local devnet uses — then restarts, so the existing load_devnet_manifest startup path connects to it exactly like a local devnet. The client already auto-detects LAN vs loopback from the bootstrap IPs, so no connection-layer change was needed.
  • Disconnect & Restart deletes the manifest (clear_devnet_manifest) and reverts to production.
  • The host:port is persisted (AppConfig.lan_devnet_host/port) so it's remembered, but the manifest is re-fetched fresh each launch — a devnet restart changes ports and the wallet key, so a cached manifest would be silently stale.
  • Single paste-friendly host:port box (tolerates an http:// prefix / trailing path).

Also

  • Moves the pre-release builds toggle into the new Developer Options section.

Notes

  • Rust-side fetch (reqwest) isn't bound by the webview CSP, so plain-http:// LAN hosts work.
  • The Developer Options strings are English-only (developer-facing).

Builds clean (tauri dev); manifest import + restart flow exercised against a local devnet.

🤖 Generated with Claude Code

Add a Developer Options section to Settings > Advanced for testing against
non-production networks:

- LAN devnet: paste a host:port for an `ant-devnet --serve-port` host; the app
  fetches its manifest (import_devnet_manifest_url), writes it to the shared
  data dir, and restarts to run against it exactly like a local devnet.
  Disconnect clears the manifest and reverts to production. The host/port is
  persisted (AppConfig) and the manifest is re-fetched fresh each launch, since
  a devnet restart changes ports and the wallet key.
- Move the pre-release builds toggle into this section.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Nic-dorman Nic-dorman force-pushed the feat/lan-devnet-manifest branch from 979cbf7 to 4927418 Compare July 14, 2026 12:00
@Nic-dorman Nic-dorman merged commit 43af367 into main Jul 15, 2026
4 checks passed
@Nic-dorman Nic-dorman deleted the feat/lan-devnet-manifest branch July 15, 2026 14:37
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.

1 participant