You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 6a64dd6
Browse filesBrowse the repository at this point in the historyBrowse files
feat(web): add a read-only SubmitQueue web UI as a mountable module
## Summary
### Why?
SubmitQueue has no browser UI, and deployers need one they can mount in their own web stack without forking it.
### What?
- `web/platform`: shared, domain-free contracts and React building blocks (host pipeline, theme, polling, cursor signing).
- `web/submitqueue`: the UI as a mountable module (routes, controllers, pages, styles), free of generated protos and transports.
- `web/service/submitqueue`: the Next.js reference host and its wiring, with a Bazel-built image in the local stack.
- `web/api`: private generated gateway bindings for the host and the e2e test.
- `doc/rfc/web-ui.md`: URL, UX, and boundary decisions.
## Test Plan
✅ `make web-check`
✅ `make web-e2e-test`
✅ `make lint` and `make check-gazelle`
### Try it locally
Requires Docker; Bazel brings its own Node.
```bash
make local-submitqueue-start # builds and starts the full stack, then prints the web URL
make demo-requests # submits a few requests to browse
make local-stop # tears the stack down
```
Open the printed URL and sign in as `test` / `test`. Start at the queue directory, open a queue, then a request's Summary and History tabs, and follow a change link to its submission history. `make web-e2e-test` runs the same flows headlessly.
Copy file name to clipboardExpand all lines: doc/howto/DEVELOPMENT.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -108,6 +108,10 @@ CI runs `make lint`, `make check-tidy`, and `make check-gazelle`. `make lint` in
108
108
|`make gazelle`| Update `BUILD.bazel` files |
109
109
|`make mocks`| Regenerate mockgen files |
110
110
|`make check-mocks`| Fail if generated mocks are stale |
111
+
|`make web-build`| Build the web packages and deployable OCI image with Bazel |
112
+
|`make web-check`| Run web generation drift, package, lint, type, unit, and production image checks with Bazel |
113
+
|`make web-e2e-test`| Run the Bazel-managed real-stack Playwright and axe test |
114
+
|`make web-proto`| Regenerate the committed TypeScript protobuf API with Bazel |
111
115
|`make proto`| Regenerate protobuf files |
112
116
|`make clean`| Remove the Bazel cache and `bin/`|
113
117
|`make clean-proto`| Remove generated protobuf Go files |
@@ -118,6 +122,8 @@ CI runs `make lint`, `make check-tidy`, and `make check-gazelle`. `make lint` in
118
122
|`make local-stop`| Stop SubmitQueue, Stovepipe, and Runway |
119
123
|`make help`| List every target |
120
124
125
+
The web build does not require a host Node.js or pnpm installation: Bazel supplies Node, npm packages, Buf, TypeScript, Next.js, Playwright, Chromium, and the container image toolchain. `make web-install` is an optional convenience for editors and direct pnpm development only.
0 commit comments