Skip to content

security(ui): remove remote mintcdn asset reference#6166

Closed
unisone wants to merge 1 commit intoopenclaw:mainfrom
unisone:security/localize-ui-svg
Closed

security(ui): remove remote mintcdn asset reference#6166
unisone wants to merge 1 commit intoopenclaw:mainfrom
unisone:security/localize-ui-svg

Conversation

@unisone
Copy link
Copy Markdown
Contributor

@unisone unisone commented Feb 1, 2026

Summary

Removes the remote mintcdn.com SVG dependency from the Control UI brand logo and uses the existing local /favicon.svg instead.

Why

Avoids an external supply-chain dependency in the UI and addresses the concern raised in #5170.

Testing

  • pnpm -C ui build

Notes

  • Pure UI change; no runtime behavior change beyond logo asset source.

Greptile Overview

Greptile Summary

This PR removes an externally-hosted mintcdn.com SVG reference for the Control UI brand logo and replaces it with a local asset (/favicon.svg), reducing supply-chain/external dependency exposure. The change is localized to ui/src/ui/app-render.ts within the topbar brand logo render path and should not affect broader UI logic beyond the image source used.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk.
  • The change is a single-line UI asset source swap from a remote URL to an existing local /favicon.svg, with no impact on application logic, state, or security model beyond reducing external dependency surface.
  • ui/src/ui/app-render.ts

(2/5) Greptile learns from your feedback when you react with thumbs up/down!

@openclaw-barnacle openclaw-barnacle bot added the app: web-ui App: web-ui label Feb 1, 2026
Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No files reviewed, no comments

Edit Code Review Agent Settings | Greptile

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 99d394f312

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

<div class="brand">
<div class="brand-logo">
<img src="https://mintcdn.com/clawhub/4rYvG-uuZrMK_URE/assets/pixel-lobster.svg?fit=max&auto=format&n=4rYvG-uuZrMK_URE&q=85&s=da2032e9eac3b5d9bfe7eb96ca6a8a26" alt="OpenClaw" />
<img src="/favicon.svg" alt="OpenClaw" />
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use base-aware logo path to avoid broken images

The new logo source is an absolute path (/favicon.svg), which ignores the Control UI base path. The UI is built with base: "./" (ui/vite.config.ts) and the gateway supports non-root base paths (e.g., /ui), so when the Control UI is served from a subpath or opened from dist/control-ui/index.html, the browser will request the favicon from the domain root instead of the Control UI base. Previously the remote URL worked in those deployments; now the logo will 404 in any non-root base-path setup.

Useful? React with 👍 / 👎.

@unisone
Copy link
Copy Markdown
Contributor Author

unisone commented Feb 1, 2026

Links: fixes #5170

@shaharsha
Copy link
Copy Markdown

Hi @unisone! 👋

I just submitted #6161 which addresses the same issue but uses the proper brand logo instead of the favicon.

Key difference:

  • Your PR: Uses /favicon.svg (the smooth, gradient favicon meant for browser tabs)
  • My PR: Uses pixel-lobster.svg (the official pixelated brand logo from docs/assets/)

The pixel-lobster logo matches OpenClaw's retro/pixel art brand identity, whereas the favicon is meant for browser tabs.

My PR:

  • Copies the logo to ui/public/pixel-lobster.svg (properly bundled by Vite)
  • Fully tested (5,137 tests passed + visual verification)

Both solutions work technically - just wanted to point out the brand consistency aspect! Let the maintainers decide which they prefer. 🦞

@unisone
Copy link
Copy Markdown
Contributor Author

unisone commented Feb 1, 2026

Good catch on base-path behavior. This PR switched to /favicon.svg, but that ignores the Control UI base path and can 404 when served under a subpath.

PR #6161 appears to supersede this with a bundled local asset and a base-aware relative reference (src="pixel-lobster.svg"). To reduce maintainer churn/duplication, I'm going to close this PR in favor of #6161. Happy to help review/test #6161.

@unisone
Copy link
Copy Markdown
Contributor Author

unisone commented Feb 1, 2026

Closing in favor of #6161 (bundled local asset + base-aware path) to avoid duplication.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app: web-ui App: web-ui

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants