PlaygroundVideosPaneComponent binds the community-video form with (ngSubmit)="submit()", but the component does not import FormsModule / ReactiveFormsModule (imports are only CommonModule, Material button/icon, and Transloco).
Without NgForm, (ngSubmit) never emits. Clicking the primary Submit button therefore does not invoke submit() — logged-in learners cannot queue a community video from the UI.
Evidence
Wave 6 coverage agent a8 (tick 3):
Filling the form via DOM inputs + calling submit() programmatically works (service upload/submit paths are fine).
Clicking button[type="submit"] after the same DOM fill does not call LessonVideosService.submit / upload.
Expected
Submit button should run the same validation + upload/URL submit path as a direct submit() call.
Fix sketch (not applied — tests-only wave)
Import FormsModule (or switch to (submit)="submit(); $event.preventDefault()" on the <form>), and add a render regression that clicks button[type="submit"] and asserts the service is called.
## Summary
`PlaygroundVideosPaneComponent` binds the community-video form with `(ngSubmit)="submit()"`, but the component does **not** import `FormsModule` / `ReactiveFormsModule` (imports are only `CommonModule`, Material button/icon, and Transloco).
Without `NgForm`, `(ngSubmit)` never emits. Clicking the primary **Submit** button therefore does not invoke `submit()` — logged-in learners cannot queue a community video from the UI.
## Evidence
Wave 6 coverage agent a8 (tick 3):
- Filling the form via DOM inputs + calling `submit()` programmatically works (service upload/submit paths are fine).
- Clicking `button[type="submit"]` after the same DOM fill does **not** call `LessonVideosService.submit` / `upload`.
## Expected
Submit button should run the same validation + upload/URL submit path as a direct `submit()` call.
## Fix sketch (not applied — tests-only wave)
- Import `FormsModule` (or switch to `(submit)="submit(); $event.preventDefault()"` on the `<form>`), and add a render regression that clicks `button[type="submit"]` and asserts the service is called.
## Location
`libraries/platform/clang-runtime/src/lib/playground-videos-pane.component.{ts,html}`
Resolved in spikersoft-angular PR #819 (merged to master). playground-videos-pane Submit fires without relying on FormsModule (ngSubmit). Closing.
Resolved in spikersoft-angular [PR #819](https://git.spikersoft.com/spikerj/spikersoft-angular/pulls/819) (merged to `master`). playground-videos-pane Submit fires without relying on FormsModule (ngSubmit). Closing.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
PlaygroundVideosPaneComponentbinds the community-video form with(ngSubmit)="submit()", but the component does not importFormsModule/ReactiveFormsModule(imports are onlyCommonModule, Material button/icon, and Transloco).Without
NgForm,(ngSubmit)never emits. Clicking the primary Submit button therefore does not invokesubmit()— logged-in learners cannot queue a community video from the UI.Evidence
Wave 6 coverage agent a8 (tick 3):
submit()programmatically works (service upload/submit paths are fine).button[type="submit"]after the same DOM fill does not callLessonVideosService.submit/upload.Expected
Submit button should run the same validation + upload/URL submit path as a direct
submit()call.Fix sketch (not applied — tests-only wave)
FormsModule(or switch to(submit)="submit(); $event.preventDefault()"on the<form>), and add a render regression that clicksbutton[type="submit"]and asserts the service is called.Location
libraries/platform/clang-runtime/src/lib/playground-videos-pane.component.{ts,html}Resolved in spikersoft-angular PR #819 (merged to
master). playground-videos-pane Submit fires without relying on FormsModule (ngSubmit). Closing.