Repository navigation
test(web): add Stovepipe coverage and align E2E suites - #838
Merged
Merged
Conversation
mnoah1
added this pull request to stack #839
October 12, 2026 14:22
mnoah1
force-pushed
the
mnoah1/stovepipe-web-e2e
branch
from
October 12, 2026 14:51
95f5825 to
99bb189
Compare
mnoah1
force-pushed
the
mnoah1/stovepipe-web-e2e
branch
from
October 12, 2026 15:00
99bb189 to
2df95bd
Compare
mnoah1
force-pushed
the
mnoah1/stovepipe-web-e2e
branch
from
October 12, 2026 15:13
2df95bd to
9e37974
Compare
This was referenced Oct 12, 2026
mnoah1
removed this pull request from stack #839
October 12, 2026 15:29
mnoah1
added this pull request to stack #843
October 12, 2026 15:29
mnoah1
force-pushed
the
mnoah1/stovepipe-web-e2e
branch
from
October 12, 2026 15:44
9e37974 to
96605a6
Compare
mnoah1
marked this pull request as ready for review
October 12, 2026 15:50
mnoah1
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
October 12, 2026 15:50
mnoah1
added a commit
that referenced
this pull request
Oct 12, 2026
Send web logs through per-request callbacks so hosts can use their own logging context. Keep Pino in the reference hosts, preserve original errors and structured fields, and isolate callback failures from page results. Builds on the web E2E layer in #838.
mnoah1
removed this pull request from stack #843
October 12, 2026 20:08
mnoah1
added this pull request to stack #847
October 12, 2026 20:08
mnoah1
marked this pull request as draft
October 12, 2026 22:05
mnoah1
added a commit
that referenced
this pull request
Oct 13, 2026
Send web logs through per-request callbacks so hosts can use their own logging context. Keep Pino in the reference hosts, preserve original errors and structured fields, and isolate callback failures from page results. Builds on the web E2E layer in #838.
mnoah1
force-pushed
the
mnoah1/stovepipe-web-e2e
branch
from
October 13, 2026 13:41
96605a6 to
7f394f9
Compare
mnoah1
added a commit
that referenced
this pull request
Oct 13, 2026
Send web logs through per-request callbacks so hosts can use their own logging context. Keep Pino in the reference hosts, preserve original errors and structured fields, and isolate callback failures from page results. Builds on the web E2E layer in #838.
mnoah1
force-pushed
the
mnoah1/stovepipe-web-e2e
branch
from
October 13, 2026 17:10
7f394f9 to
c1ce012
Compare
mnoah1
added a commit
that referenced
this pull request
Oct 13, 2026
Send web logs through per-request callbacks so hosts can use their own logging context. Keep Pino in the reference hosts, preserve original errors and structured fields, and isolate callback failures from page results. Builds on the web E2E layer in #838.
mnoah1
force-pushed
the
mnoah1/stovepipe-web-e2e
branch
from
October 13, 2026 17:24
c1ce012 to
0469e2e
Compare
mnoah1
marked this pull request as ready for review
October 13, 2026 17:38
mnoah1
added a commit
that referenced
this pull request
Oct 13, 2026
Send web logs through per-request callbacks so hosts can use their own logging context. Keep Pino in the reference hosts, preserve original errors and structured fields, and isolate callback failures from page results. Builds on the web E2E layer in #838.
mnoah1
force-pushed
the
mnoah1/stovepipe-web-e2e
branch
from
October 13, 2026 19:31
0469e2e to
9786a7b
Compare
prathshenoy
approved these changes
Oct 14, 2026
github-merge-queue
Bot
removed this pull request from the merge queue because a pull request earlier in the stack was removed
Oct 14, 2026
mnoah1
added a commit
that referenced
this pull request
Oct 14, 2026
Send web logs through per-request callbacks so hosts can use their own logging context. Keep Pino in the reference hosts, preserve original errors and structured fields, and isolate callback failures from page results. Builds on the web E2E layer in #838.
mnoah1
force-pushed
the
mnoah1/stovepipe-web-e2e
branch
from
October 14, 2026 15:21
9786a7b to
e87cd11
Compare
github-merge-queue
Bot
removed this pull request from the merge queue because a pull request earlier in the stack was removed
Oct 14, 2026
DivyanshGarg380
pushed a commit
to DivyanshGarg380/submitqueue
that referenced
this pull request
Oct 14, 2026
## Why? Much of the structure around the new SubmitQueue UI is reusable for a Stovepipe UI as well. This PR pulls out common components into shared packages that can be used across both services to minimize duplication. ## What? - Move shared React navigation, polling, timestamp formatting, path-segment helpers, and styles into `web/platform` (`@submitqueue/web-platform`). - Move common Basic auth, Node gRPC transport, Next.js navigation, and readiness checks into `web/service/shared` (`@submitqueue/web-service-shared`). Service-specific configuration stays in the host. - Update SubmitQueue to import the shared implementations directly, preserving its public exports and existing behavior. - Share the Bazel library build, packaging, and lint setup, and update workspace and package-consumer checks. ## Test Plan Shared-package checks and the existing SubmitQueue browser suite passed; the latest rebased stack passed all 32 targets with `./tool/bazel test //web:check //web/test/e2e/submitqueue:web_test //web/test/e2e/stovepipe:web_test --test_output=errors`. To validate this PR independently: ```sh ./tool/bazel test //web:check //web/test/e2e:web_test --test_output=errors ``` Repository formatting, lint, module tidy, and Gazelle checks also passed. ## Revert Plan Revert dependent PRs uber#844, uber#838, and uber#837 first if merged, then revert this PR to restore the original SubmitQueue package layout. ## Stack 1. uber#842 — shared-package refactoring 2. uber#837 — Stovepipe frontend 3. uber#838 — browser coverage and E2E organization 4. uber#844 — host logging integration
DivyanshGarg380
pushed a commit
to DivyanshGarg380/submitqueue
that referenced
this pull request
Oct 14, 2026
## Why? Stovepipe exposes request lists, status summaries, and history through RPCs, but has no browser view for inspecting them. Add a basic UI mirroring the same structure as the SubmitQueue UI: a core component that can be deployed internally via FusionJS that includes the pages / contents, and a NextJS wrapper for external use. https://github.com/user-attachments/assets/0bdf1fd9-36ea-4bea-b540-826d8047e6a2 ## What? - Add `web/stovepipe`, a React library with a request list for each configured queue and a request page showing the backend status summary followed by request history. - Load the summary and events together through `GetRequestHistoryByID`. Request IDs link to `/<queue>/request/<id>`; change URIs remain displayed as text. Display the backend summary directly, including state, change and baseline URIs, timestamps, and outcome reason. - Provide manual refresh and optional polling, retaining successful sections when a refresh fails on the same page. - Add a thin Next.js host under `web/service/stovepipe` for authentication, configuration, server-side RPC transport, and logging, plus TypeScript bindings for the existing API and Bazel build/image targets. - Add the local Compose overlay and `make local-stovepipe-web-start`, along with library, component, host, and package tests. ## Test Plan Latest validation passed all 32 targets with `./tool/bazel test //web:check //web/test/e2e/submitqueue:web_test //web/test/e2e/stovepipe:web_test --test_output=errors`, including real-backend coverage of request-ID navigation, status summaries, history, and refresh. Frontend and package checks passed as part of the validation above, which also built the Stovepipe image. On this PR: ```sh ./tool/bazel test //web:check --test_output=errors ./tool/bazel build //web/service/stovepipe:image ``` For manual review, run `make local-stovepipe-web-start`, open the printed URL, and sign in with username `test` and password `test` (or the configured `STOVEPIPE_WEB_TOKEN`). ## Stack 1. uber#842 — shared-package refactoring 2. uber#837 — Stovepipe frontend 3. uber#838 — browser coverage and E2E organization 4. uber#844 — host logging integration This PR's diff contains the Stovepipe additions; review the preparatory refactoring in uber#842. Merge in this order.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why?
The new Stovepipe UI needs browser coverage against a real backend, in addition to its unit and component tests. Align both services' browser suites under
web/test/e2e/<domain>so they follow the repository layout and reuse stack setup helpers.What?
web/test/e2e/submitqueue, preserving its browser spec and Compose overlay.web/test/e2e/stovepipewith real ingestion and seeded pagination data. Cover queue navigation and cursors, request-ID links and reloads, backend status summaries above history, refresh, empty queues, and accessibility. A summary with a newer state than the history verifies that the UI does not reconstruct status from events.Test Plan
Latest validation passed all 32 targets, including both services' real-stack browser suites:
./tool/bazel test //web:check //web/test/e2e/submitqueue:web_test //web/test/e2e/stovepipe:web_test --test_output=errorsRepository formatting, lint, module tidy, and Gazelle checks also passed. Browser tests require a running Docker daemon; Bazel supplies Compose and the browser.
Stack