Summary
FR-3343 fixed open_to_public / allowed_client_ips / port being dropped when launching apps that go through an intermediate modal (TensorBoard path modal, nniboard / mlflow-ui confirmation modal). Copilot review on PR #8327 pointed out that current E2E coverage cannot catch this class of regression:
e2e/app-launcher/app-launcher-launch.spec.ts only asserts proxy parameters on the direct ttyd path, and only negatively (asserts the params are absent when options are unset).
- There is no positive test that sets "Open app to public", allowed client IPs, and a preferred port, then asserts the proxy
/add request carries open_to_public=true, allowed_client_ips, and port.
- The AppLauncherModal E2E helper class has no methods for the option checkboxes/inputs or the follow-up modals.
Scope
- Extend the
AppLauncherModal helper with option controls (open-to-public checkbox, client IPs input, preferred port input) and follow-up modal interactions (TensorBoard path submit, confirmation modal confirm).
- Positive direct-path test: launch with all options set, assert all three proxy parameters (Test Plan §5.2).
- TensorBoard path: set options → click tensorboard → submit path modal → assert parameters survive (requires session image exposing the tensorboard service port; gate with
@requires-app-tensorboard).
- Confirmation path: same for nniboard / mlflow-ui (gate with appropriate
@requires-app-* tags; these may only be testable via preopen ports).
References
JIRA Issue: FR-3345
Summary
FR-3343 fixed
open_to_public/allowed_client_ips/portbeing dropped when launching apps that go through an intermediate modal (TensorBoard path modal, nniboard / mlflow-ui confirmation modal). Copilot review on PR #8327 pointed out that current E2E coverage cannot catch this class of regression:e2e/app-launcher/app-launcher-launch.spec.tsonly asserts proxy parameters on the directttydpath, and only negatively (asserts the params are absent when options are unset)./addrequest carriesopen_to_public=true,allowed_client_ips, andport.Scope
AppLauncherModalhelper with option controls (open-to-public checkbox, client IPs input, preferred port input) and follow-up modal interactions (TensorBoard path submit, confirmation modal confirm).@requires-app-tensorboard).@requires-app-*tags; these may only be testable via preopen ports).References
e2e/AppLauncher-Test-Plan.md§5.2 — scenarios already documented but unimplementedJIRA Issue: FR-3345