Skip to content

feat(campus-net): adapt portal login and GUI - #7

Merged
Cedarflake merged 5 commits into
mainfrom
codex/adapt-campus-sso
Jul 17, 2026
Merged

Cedarflake merged 5 commits into
mainfrom
codex/adapt-campus-sso

Conversation

@Cedarflake

@Cedarflake Cedarflake commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • adapt campus-net to the new captive-portal SSO flow while retaining legacy ePortal support
  • add versioned configuration, bound-interface probing, verified configuration backups, and no-browser CAPTCHA handling
  • keep every new-portal request on the configured Windows IPv4 interface without guessing WLAN, Ethernet, or fallback routes
  • add a ttkbootstrap GUI with saved geometry, scrollable forms, v2-only carrier selection, and branded Windows icons
  • add a purple CLI icon, a blue GUI icon, implementation documentation, regression tests, and validated build workflows
  • stop tracking uv.lock and let the campus-net CI job resolve its ephemeral environment from pyproject.toml

Why

The previous direct ePortal request no longer represents the effective login path. The new portal requires captive-redirect discovery, SSO state propagation, operator selection, and CAPTCHA submission. Network failures also needed stable, interface-neutral messages instead of raw host, SSL, or WinError details.

Impact

Users can choose legacy or new portal mode, bind login and connectivity checks to any Windows IPv4 interface, save configuration with automatic verified backups, and complete CAPTCHA entry without browser automation. An unavailable or incorrect interface now stops safely without submitting credentials through another network.

Validation

  • uv sync --group dev (no parent-workspace warning)
  • uvx ruff format --check workbench/network/campus-net
  • uvx ruff check workbench/network/campus-net
  • project virtual-environment test suite: 152 tests passed
  • CI-equivalent uv run python -m unittest discover -s tests -p "test_*.py": 152 tests passed
  • clean PyInstaller CLI and GUI builds
  • packaged CLI --help and bound-interface --probe-only: exit code 0
  • packaged GUI smoke test: exit code 0, no config creation, no residual process
  • extracted PE icons: purple CLI and blue GUI

@vercel

vercel Bot commented Jul 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cedarflake-lab-landing Ready Ready Preview, Comment Jul 17, 2026 9:38pm
coilpot-task Ready Ready Preview, Comment Jul 17, 2026 9:38pm
liminal-drift Ready Ready Preview, Comment Jul 17, 2026 9:38pm
maimai-transition Ready Ready Preview, Comment Jul 17, 2026 9:38pm

- Sanitize interface failures without cross-interface fallback
- Add CLI branding and stable uv/PowerShell build commands

This branch was successfully deployed

4 active deployments
Preview – maimai-transition 5dd927eb Deployed Jul 17, 2026 by vercel[bot]
Preview – coilpot-task 5dd927eb Deployed Jul 17, 2026 by vercel[bot]
Preview – liminal-drift 5dd927eb Deployed Jul 17, 2026 by vercel[bot]
Preview – cedarflake-lab-landing 5dd927eb Deployed Jul 17, 2026 by vercel[bot]
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