Fix UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library#19644
Merged
WeichenXu123 merged 5 commits intomasterfrom Dec 26, 2025
Merged
Fix UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library#19644WeichenXu123 merged 5 commits intomasterfrom
WeichenXu123 merged 5 commits intomasterfrom
Conversation
- Add uuid package (v10.0.0) as dependency - Replace crypto.randomUUID() with uuidv4() in 4 files: - TelemetryClient.ts - TelemetryLogger.worker.ts - ExperimentPageSideNavSection.tsx - MlflowSidebar.tsx - Add TypeScript declaration file for uuid module Co-authored-by: WeichenXu123 <19235986+WeichenXu123@users.noreply.github.com>
Co-authored-by: WeichenXu123 <19235986+WeichenXu123@users.noreply.github.com>
Add type declarations for v1, v3, v5, validate, and parse functions to support future usage and avoid type errors. Co-authored-by: WeichenXu123 <19235986+WeichenXu123@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix UI not working on plain HTTP in MLflow
Fix UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library
Dec 26, 2025
Contributor
There was a problem hiding this comment.
Pull request overview
This PR fixes the MLflow UI not working on plain HTTP by replacing crypto.randomUUID() with the uuid library's v4() function. The crypto.randomUUID() API is only available in secure contexts (HTTPS or localhost), causing the UI to fail with a blank page on plain HTTP connections.
Key Changes:
- Added
uuidv10.0.0 package as a dependency - Replaced all instances of
crypto.randomUUID()withuuidv4()from the uuid library - Created a TypeScript type declaration file for the uuid module
Reviewed changes
Copilot reviewed 5 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| mlflow/server/js/package.json | Added uuid v10.0.0 as a project dependency |
| mlflow/server/js/yarn.lock | Updated lock file with uuid v10.0.0 package metadata |
| mlflow/server/js/src/types/uuid.d.ts | Added TypeScript type declaration for uuid module (unnecessary as v10 includes types) |
| mlflow/server/js/src/telemetry/TelemetryClient.ts | Replaced crypto.randomUUID() with uuidv4() for installation ID generation |
| mlflow/server/js/src/telemetry/worker/TelemetryLogger.worker.ts | Replaced crypto.randomUUID() with uuidv4() for session ID generation |
| mlflow/server/js/src/experiment-tracking/pages/experiment-page-tabs/side-nav/ExperimentPageSideNavSection.tsx | Replaced crypto.randomUUID() with uuidv4() for view ID generation |
| mlflow/server/js/src/common/components/MlflowSidebar.tsx | Replaced crypto.randomUUID() with uuidv4() for view ID generation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
mlflow/server/js/package.json
Outdated
| "use-clipboard-copy": "^0.2.0", | ||
| "use-debounce": "^10.0.4", | ||
| "use-sync-external-store": "^1.2.0", | ||
| "uuid": "^10.0.0", |
Co-authored-by: WeichenXu123 <19235986+WeichenXu123@users.noreply.github.com>
WeichenXu123
approved these changes
Dec 26, 2025
29 tasks
WeichenXu123
added a commit
to WeichenXu123/mlflow
that referenced
this pull request
Dec 26, 2025
…uid library (mlflow#19644) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: WeichenXu123 <19235986+WeichenXu123@users.noreply.github.com>
WeichenXu123
added a commit
that referenced
this pull request
Dec 26, 2025
…uid library (#19644) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: WeichenXu123 <19235986+WeichenXu123@users.noreply.github.com>
29 tasks
omarfarhoud
pushed a commit
to omarfarhoud/mlflow
that referenced
this pull request
Jan 20, 2026
…uid library (mlflow#19644) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: WeichenXu123 <19235986+WeichenXu123@users.noreply.github.com>
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.
Plan to Fix UI on Plain HTTP
The issue is that
crypto.randomUUID()only works in secure contexts (HTTPS or localhost). We need to replace it with theuuidlibrary which works in all contexts.Changes Required:
uuidpackage to dependencies inmlflow/server/js/package.jsoncrypto.randomUUID()inTelemetryClient.ts(installation ID generation)crypto.randomUUID()inTelemetryLogger.worker.ts(session ID generation)crypto.randomUUID()inExperimentPageSideNavSection.tsx(view ID generation)crypto.randomUUID()inMlflowSidebar.tsx(view ID generation)Summary
All
crypto.randomUUID()calls have been successfully replaced withuuidv4()from the uuid library. The UI will now work correctly on plain HTTP connections.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.