Repository navigation
feat(web): add Stovepipe request status UI - #837
Merged
Merged
Conversation
mnoah1
added this pull request to stack #839
October 12, 2026 14:22
mnoah1
force-pushed
the
mnoah1/stovepipe-web
branch
3 times, most recently
from
October 12, 2026 15:13
0ba6160 to
6c46e8b
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
branch
from
October 12, 2026 15:44
6c46e8b to
9e836f4
Compare
mnoah1
marked this pull request as ready for review
October 12, 2026 15:49
mnoah1
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
October 12, 2026 15:49
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 20:29
mnoah1
force-pushed
the
mnoah1/stovepipe-web
branch
from
October 13, 2026 13:41
9e836f4 to
90f100c
Compare
mnoah1
force-pushed
the
mnoah1/stovepipe-web
branch
2 times, most recently
from
October 13, 2026 17:24
6de4054 to
6cda37f
Compare
mnoah1
marked this pull request as ready for review
October 13, 2026 17:38
mnoah1
force-pushed
the
mnoah1/stovepipe-web
branch
from
October 13, 2026 19:31
6cda37f to
62c5954
Compare
prathshenoy
approved these changes
Oct 14, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Oct 14, 2026
Add queue request lists and request-ID detail pages using the summary and events returned by GetRequestHistoryByID. Provide a thin reference host, shared native styling, refresh, authentication, and local Compose startup. Builds on #842.
mnoah1
force-pushed
the
mnoah1/stovepipe-web
branch
from
October 14, 2026 15:21
62c5954 to
45d22cc
Compare
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
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? 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? - Move the existing SubmitQueue browser suite into `web/test/e2e/submitqueue`, preserving its browser spec and Compose overlay. - Add `web/test/e2e/stovepipe` with 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. - Share image loading, schema application, and port lookup helpers. Both browser runners use the Bazel-pinned Compose executable from uber#830. - Update Bazel targets and visibility, workspace entries, runner commands, and test documentation for the new layout. Tests emit queue and request-page screenshots as Bazel test outputs. ## Test Plan Latest validation passed all 32 targets, including both services' real-stack browser suites: ```sh ./tool/bazel test //web:check //web/test/e2e/submitqueue:web_test //web/test/e2e/stovepipe:web_test --test_output=errors ``` Repository formatting, lint, module tidy, and Gazelle checks also passed. Browser tests require a running Docker daemon; Bazel supplies Compose and the browser. ## 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 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?
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.
Screen.Recording.2026-10-13.at.1.36.11.PM.mov
What?
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.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.web/service/stovepipefor authentication, configuration, server-side RPC transport, and logging, plus TypeScript bindings for the existing API and Bazel build/image targets.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:
./tool/bazel test //web:check --test_output=errors ./tool/bazel build //web/service/stovepipe:imageFor manual review, run
make local-stovepipe-web-start, open the printed URL, and sign in with usernametestand passwordtest(or the configuredSTOVEPIPE_WEB_TOKEN).Stack
This PR's diff contains the Stovepipe additions; review the preparatory refactoring in #842. Merge in this order.