fix: pass the provider list to create_server_dict in the cli #178

Merged
mysticalsoap merged 1 commit from fix/cli-connect-args into trunk 2026-08-27 17:50:59 -04:00
Owner

Problem

#132: both cli call sites (establish_connection and set_hop) pass (server_dict, protocol_dict) to utils.create_server_dict, whose signature is (current_dict, protocol_dict, SUPPORTED_PROVIDERS) with no default — so -c and -v die on TypeError before reaching the service. Inherited from upstream; the cli connect path has never run since the fork.

Fix

Pass the module's existing SUPPORTED_PROVIDERS alias at both sites, matching the gui's three call sites.

Landing this before #125 on purpose: the catalog extraction absorbs create_server_dict as the model's connect-time projection, and refactoring a path that has never run can't be verified as behavior-preserving. This gives #125 a live-tested baseline.

Checked while here: the service methods the path hits (connect_to_server a{ss}, set_hop, disconnect) are the same ones the gui uses, and the hop dict's hop: 1 marker the gui sets is never read by the service or tunnel — only the main dict's hop value is (tunnel.py:58), which the cli sets. So this one argument is the whole of #132.

Verification

  • ruff E9,F63,F7,F82 clean; 395 tests pass (test_mgmt socket cases are the known sandbox artifact)
  • Live -c/-v run pending — steps below

Related fixes #132

🤖 Generated with Claude Code

## Problem #132: both cli call sites (establish_connection and set_hop) pass (server_dict, protocol_dict) to utils.create_server_dict, whose signature is (current_dict, protocol_dict, SUPPORTED_PROVIDERS) with no default — so `-c` and `-v` die on TypeError before reaching the service. Inherited from upstream; the cli connect path has never run since the fork. ## Fix Pass the module's existing SUPPORTED_PROVIDERS alias at both sites, matching the gui's three call sites. Landing this before #125 on purpose: the catalog extraction absorbs create_server_dict as the model's connect-time projection, and refactoring a path that has never run can't be verified as behavior-preserving. This gives #125 a live-tested baseline. Checked while here: the service methods the path hits (connect_to_server `a{ss}`, set_hop, disconnect) are the same ones the gui uses, and the hop dict's `hop: 1` marker the gui sets is never read by the service or tunnel — only the main dict's hop value is (tunnel.py:58), which the cli sets. So this one argument is the whole of #132. ## Verification - ruff E9,F63,F7,F82 clean; 395 tests pass (test_mgmt socket cases are the known sandbox artifact) - Live `-c`/`-v` run pending — steps below Related fixes #132 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix: pass the provider list to create_server_dict in the cli
All checks were successful
ci / test (pull_request) Successful in 31s
ci / test (push) Successful in 24s
135800a2f5
Both cli call sites kept the two-arg form after the signature grew
SUPPORTED_PROVIDERS, so -c and -v died on TypeError before reaching
the service. The gui's three call sites already pass it.

Closes #132

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
mysticalsoap deleted branch fix/cli-connect-args 2026-08-27 17:50:59 -04:00
Sign in to join this conversation.
No description provided.