Skip to content

uPnPEnabled toggle + capability-only transport selection - #16

Merged
QuickMythril merged 1 commit into
mainfrom
feat/upnp-toggle-and-transport-capability
Aug 3, 2026
Merged

uPnPEnabled toggle + capability-only transport selection#16
QuickMythril merged 1 commit into
mainfrom
feat/upnp-toggle-and-transport-capability

Conversation

@QuickMythril

Copy link
Copy Markdown
Member

What

  • UPnP toggle: uPnPEnabled joins the editable settings (boolean, default on). Core 1.6.3 added it to the writable-settings allowlist (restartRequired); on older Cores it stays read-only because it is missing from the writable metadata.
  • Transport selection simplified to a capability set: IP only / IP + I2P / I2P only, dropping the I2P + IP ordering variant. Core treats transport order as a soft preference with reserved outbound slots for the other transport since fix(net): give both transports a fair share of connections qortium-core#191, so the ordering choice no longer changes behaviour enough to justify the confusion — and it was the source of the Dashboard-vs-Settings mismatch Bebop reported (Home's dashboard select is capability-only and displayed the ordered ['I2P','IP'] state as plain IP + I2P).
  • Selection is now order-insensitive when displaying: a node still configured with the legacy ['I2P','IP'] shows IP + I2P; nothing is written unless the user changes the control (picking IP + I2P then writes ['IP','I2P']).
  • Version 1.4.4.

Testing

  • vitest run: 39/39 passing, including new cases for the order-insensitive selection mapping, retired-option fallback, uPnPEnabled defaults/editability/restart-required detection, and its position in the settings group ordering.
  • npm run build (tsc + vite) clean.
  • Verified against the local node running qortium-1.6.3-eae9bf7: GET /admin/settings/metadata reports uPnPEnabled as BOOLEAN, restartRequired=true.

🤖 Generated with Claude Code

- Add uPnPEnabled (Core 1.6.3+) to the editable settings so the new UPnP
  toggle is switchable from the settings page; older Cores without it in
  writable metadata keep it read-only.
- Collapse the allowedTransports dropdown from four ordered options to a
  capability set (IP only / IP + I2P / I2P only). Core treats transport
  order as a soft preference with reserved dial slots since core PR #191,
  and the ordering choice only created a Dashboard-vs-Settings mismatch
  with Home. The legacy ['I2P','IP'] value still displays as IP + I2P.
- Version 1.4.4.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@QuickMythril
QuickMythril merged commit 8294c3e into main Aug 3, 2026
4 checks passed
@QuickMythril
QuickMythril deleted the feat/upnp-toggle-and-transport-capability branch August 3, 2026 20:45
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