Skip to content

build(react): output bundle to its own dist/ instead of SignallingWebServer/www/#874

Merged
mcottontensor merged 1 commit intoEpicGamesExt:masterfrom
mcottontensor:fix/react-impl-output-dir
May 5, 2026
Merged

build(react): output bundle to its own dist/ instead of SignallingWebServer/www/#874
mcottontensor merged 1 commit intoEpicGamesExt:masterfrom
mcottontensor:fix/react-impl-output-dir

Conversation

@mcottontensor
Copy link
Copy Markdown
Collaborator

Summary

Both reference frontend implementations were writing to SignallingWebServer/www/ with clean: true. npm run build --ws walks workspaces in declared order, so:

  1. Frontend/implementations/typescript builds → writes player.html, player.js, all UI assets to www/.
  2. Frontend/implementations/react builds → clean: true wipes everything the TS impl just wrote, then writes only index.html / index.js.

After that, start.sh's setup_frontend() checks if [ ! -d www ] (SignallingWebServer/platform_scripts/bash/common.sh:229), sees www/ exists, and skips its own rebuild. Wilbur ends up serving the React impl's minimal page — auto-connect, no overlay, white background — instead of the expected TS reference frontend with its Click to start overlay and settings UI.

The fix points the React webpack output at a local dist/ directory. The two implementations no longer collide. WEBPACK_OUTPUT_PATH is honoured for symmetry with the TS impl, and the readme picks up a short note showing how to have Wilbur serve the React bundle via --http_root.

Repro before / verification after:

$ rm -rf SignallingWebServer/www \
         Frontend/implementations/react/dist \
         Frontend/implementations/typescript/dist
$ npm run build
$ ls SignallingWebServer/www/
# before: index.html  index.js  (React impl, TS impl gone)
# after:  player.html  player.js  showcase.html  stresstest.html  uiless.html ...
$ ls Frontend/implementations/react/dist/
# after:  index.html  index.js

Test plan

  • rm -rf then npm run build at root — www/ ends up with TS impl, React lands in its own dist/
  • Lint clean (npm run lint --workspace Frontend/implementations/react)
  • Manual: start.sh after a root build serves the proper UI
  • Manual: start.sh --http_root=$(pwd)/Frontend/implementations/react/dist serves the React impl

…Server/www/

Both reference frontend implementations were writing to
SignallingWebServer/www/ with `clean: true`, so a top-level
`npm run build --ws` ran the TS impl first and then had its output
wiped by the React impl that ran second. Wilbur was then served the
React impl's minimal page (auto-connect, no UI overlay) instead of
the TS reference frontend.

Point the React webpack at a local dist/ directory so the two
implementations no longer collide. WEBPACK_OUTPUT_PATH is honoured
for symmetry with the TS impl, and the readme documents how to have
Wilbur serve this bundle via --http_root.
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 5, 2026

⚠️ No Changeset found

Latest commit: 3b1234c

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@mcottontensor mcottontensor added auto-backport Used to specify we want a PR to auto backport to a branch, must be paired with auto-backport-to-UEX. auto-backport-to-UE5.5 auto-backport-to-UE5.6 auto-backport-to-UE5.7 labels May 5, 2026
@mcottontensor mcottontensor merged commit 1096245 into EpicGamesExt:master May 5, 2026
7 checks passed
@mcottontensor mcottontensor deleted the fix/react-impl-output-dir branch May 5, 2026 01:26
@mcottontensor
Copy link
Copy Markdown
Collaborator Author

💚 All backports created successfully

Status Branch Result
UE5.5
UE5.6
UE5.7

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

mcottontensor added a commit that referenced this pull request May 5, 2026
…Server/www/ (#874) (#878)

Both reference frontend implementations were writing to
SignallingWebServer/www/ with `clean: true`, so a top-level
`npm run build --ws` ran the TS impl first and then had its output
wiped by the React impl that ran second. Wilbur was then served the
React impl's minimal page (auto-connect, no UI overlay) instead of
the TS reference frontend.

Point the React webpack at a local dist/ directory so the two
implementations no longer collide. WEBPACK_OUTPUT_PATH is honoured
for symmetry with the TS impl, and the readme documents how to have
Wilbur serve this bundle via --http_root.

(cherry picked from commit 1096245)
mcottontensor added a commit that referenced this pull request May 5, 2026
…Server/www/ (#874) (#879)

Both reference frontend implementations were writing to
SignallingWebServer/www/ with `clean: true`, so a top-level
`npm run build --ws` ran the TS impl first and then had its output
wiped by the React impl that ran second. Wilbur was then served the
React impl's minimal page (auto-connect, no UI overlay) instead of
the TS reference frontend.

Point the React webpack at a local dist/ directory so the two
implementations no longer collide. WEBPACK_OUTPUT_PATH is honoured
for symmetry with the TS impl, and the readme documents how to have
Wilbur serve this bundle via --http_root.

(cherry picked from commit 1096245)
mcottontensor added a commit that referenced this pull request May 5, 2026
…Server/www/ (#874) (#880)

Both reference frontend implementations were writing to
SignallingWebServer/www/ with `clean: true`, so a top-level
`npm run build --ws` ran the TS impl first and then had its output
wiped by the React impl that ran second. Wilbur was then served the
React impl's minimal page (auto-connect, no UI overlay) instead of
the TS reference frontend.

Point the React webpack at a local dist/ directory so the two
implementations no longer collide. WEBPACK_OUTPUT_PATH is honoured
for symmetry with the TS impl, and the readme documents how to have
Wilbur serve this bundle via --http_root.

(cherry picked from commit 1096245)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-backport Used to specify we want a PR to auto backport to a branch, must be paired with auto-backport-to-UEX. auto-backport-to-UE5.5 auto-backport-to-UE5.6 auto-backport-to-UE5.7

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant