This is an automated email from the ASF dual-hosted git repository.

yao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new 88d5c8b738e5 [SPARK-55780][UI] Replace PNG logo with SVG in Spark Web 
UI
88d5c8b738e5 is described below

commit 88d5c8b738e5e513acbfafe008f86cfd03279439
Author: Kent Yao <[email protected]>
AuthorDate: Mon Mar 2 22:34:13 2026 +0800

    [SPARK-55780][UI] Replace PNG logo with SVG in Spark Web UI
    
    ### What changes were proposed in this pull request?
    
    Replace the rasterized `spark-logo-77x50px-hd.png` (77×50px) with an SVG 
version in the Spark Web UI navbar and favicon.
    
    The SVG is derived from the official [Apache Spark website 
logo](https://github.com/apache/spark-website/blob/asf-site/images/spark-logo-rev.svg),
 with the text fill changed from white (`#FFF`) to the original dark color 
(`#3C3C3B`) to match the light navbar background.
    
    ### Why are the changes needed?
    
    - **Resolution independence**: SVG renders crisply on HiDPI/Retina displays 
without pixelation
    - **Scalability**: No artifacts when the browser zooms or the layout resizes
    - **Consistency**: Uses the same vector source as the official Apache Spark 
website
    
    ### Does this PR introduce _any_ user-facing change?
    
    The logo looks the same but renders more crisply on high-DPI screens.
    
    ### How was this patch tested?
    
    - `UIUtilsSuite` (8 tests) passes
    - Manual verification: logo renders correctly in navbar and browser favicon
      - before
    <img width="858" height="536" alt="image" 
src="https://github.com/user-attachments/assets/2805aa6d-2202-44b4-8303-b09c9e0a2675";
 />
    
      - after
    <img width="1238" height="484" alt="image" 
src="https://github.com/user-attachments/assets/36cd40ff-214b-4e23-94d2-a5bebcdfcc42";
 />
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    Yes, GitHub Copilot was used.
    
    Closes #54562 from yaooqinn/SPARK-55780.
    
    Authored-by: Kent Yao <[email protected]>
    Signed-off-by: Kent Yao <[email protected]>
---
 .../org/apache/spark/ui/static/spark-logo-77x50px-hd.png | Bin 3077 -> 0 bytes
 .../resources/org/apache/spark/ui/static/spark-logo.svg  |   7 +++++++
 core/src/main/scala/org/apache/spark/ui/UIUtils.scala    |  10 ++++++----
 dev/.rat-excludes                                        |   1 +
 4 files changed, 14 insertions(+), 4 deletions(-)

diff --git 
a/core/src/main/resources/org/apache/spark/ui/static/spark-logo-77x50px-hd.png 
b/core/src/main/resources/org/apache/spark/ui/static/spark-logo-77x50px-hd.png
deleted file mode 100644
index cee28916e8db..000000000000
Binary files 
a/core/src/main/resources/org/apache/spark/ui/static/spark-logo-77x50px-hd.png 
and /dev/null differ
diff --git a/core/src/main/resources/org/apache/spark/ui/static/spark-logo.svg 
b/core/src/main/resources/org/apache/spark/ui/static/spark-logo.svg
new file mode 100644
index 000000000000..04ae7bf2dbff
--- /dev/null
+++ b/core/src/main/resources/org/apache/spark/ui/static/spark-logo.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg"; width="68" height="36" viewBox="0 0 68 
36">
+    <g fill="none" fill-rule="evenodd">
+        <path fill="#E25A1C" d="M62.061 17.243c-.058.123-.085.186-.117.245-.85 
1.594-1.698 3.19-2.555 4.78-.087.159-.076.254.042.39 1.352 1.558 2.697 3.122 
4.044 
4.685.047.054.09.113.108.21-.394-.101-.788-.201-1.181-.304-1.634-.427-3.268-.853-4.9-1.285-.152-.04-.221.003-.297.128-.927
 1.528-1.86 3.053-2.792 
4.578-.048.08-.1.157-.202.223-.075-.407-.152-.814-.225-1.221l-.777-4.314c-.028-.156-.067-.31-.08-.467-.014-.148-.09-.203-.227-.245-1.925-.596-3.848-1.198-5.772-1.8-.084-.026-.167-.06-.
 [...]
+        <path fill="#3C3C3B" d="M59.483 
3.841c-1.193.002-2.386.008-3.58.003-.157 0-.246.045-.334.177-1.412 2.122-2.83 
4.239-4.248 
6.357-.045.068-.093.133-.174.246l-.902-6.767h-3.124c.037.3.069.59.107.88.305 
2.296.611 4.594.918 6.89.292 2.195.583 4.39.88 6.585.009.065.053.148.107.183 
1.075.69 2.154 1.376 3.232 2.062.016.01.038.011.094.027l-.974-7.324.038-.026 
5.113 
5.59.136-.772c.121-.698.237-1.396.367-2.092.026-.14-.011-.228-.106-.325-1.094-1.13-2.185-2.263-3.276-3.396l-.147-.159c.035-.0
 [...]
+        <path fill="#3C3C3B" fill-rule="nonzero" d="M62.9 
3.859v1.207h-.006l-.48-1.207h-.154l-.48 
1.207h-.007V3.86h-.242v1.446h.373l.438-1.099.43 1.099h.37V3.859h-.241zm-2.127 
1.253V3.859h-.242v1.253h-.46v.193h1.16v-.193h-.458M16.682 20.339h.72l-.17 
1.073-.55-1.073zm.832-.694h-1.196l-.38-.734h-.847l1.868 
3.443h.817l.636-3.443h-.785l-.113.734M21.793 21.66h-.426l-.143-.794h.425c.257 0 
.463.166.463.48 0 .208-.13.314-.319.314zm-1.032.694h1.12c.585 0 
.995-.345.995-.937 0-.744-.534-1.245-1.293 [...]
+    </g>
+</svg>
diff --git a/core/src/main/scala/org/apache/spark/ui/UIUtils.scala 
b/core/src/main/scala/org/apache/spark/ui/UIUtils.scala
index 6d00996d9e73..4cb206d80755 100644
--- a/core/src/main/scala/org/apache/spark/ui/UIUtils.scala
+++ b/core/src/main/scala/org/apache/spark/ui/UIUtils.scala
@@ -287,7 +287,7 @@ private[spark] object UIUtils extends Logging {
         {if (showVisualization) vizHeaderNodes(request) else Seq.empty}
         {if (useDataTables) dataTablesHeaderNodes(request) else Seq.empty}
         <link rel="shortcut icon"
-              href={prependBaseUri(request, 
"/static/spark-logo-77x50px-hd.png")}></link>
+              href={prependBaseUri(request, "/static/spark-logo.svg")}></link>
         <title>{appName} - {title}</title>
       </head>
       <body>
@@ -295,7 +295,8 @@ private[spark] object UIUtils extends Logging {
           <div class="navbar-header">
             <div class="navbar-brand">
               <a href={prependBaseUri(request, "/")}>
-                <img src={prependBaseUri(request, 
"/static/spark-logo-77x50px-hd.png")} />
+                <img src={prependBaseUri(request, "/static/spark-logo.svg")}
+                     alt="Spark Logo" height="36" />
                 <span class="version">{activeTab.appSparkVersion}</span>
               </a>
             </div>
@@ -344,7 +345,7 @@ private[spark] object UIUtils extends Logging {
         {commonHeaderNodes(request)}
         {if (useDataTables) dataTablesHeaderNodes(request) else Seq.empty}
         <link rel="shortcut icon"
-              href={prependBaseUri(request, 
"/static/spark-logo-77x50px-hd.png")}></link>
+              href={prependBaseUri(request, "/static/spark-logo.svg")}></link>
         <title>{title}</title>
       </head>
       <body>
@@ -353,7 +354,8 @@ private[spark] object UIUtils extends Logging {
             <div class="col-12">
               <h3 style="vertical-align: middle; display: inline-block;">
                 <a style="text-decoration: none" href={prependBaseUri(request, 
"/")}>
-                  <img src={prependBaseUri(request, 
"/static/spark-logo-77x50px-hd.png")} />
+                  <img src={prependBaseUri(request, "/static/spark-logo.svg")}
+                       alt="Spark Logo" height="36" />
                   <span class="version"
                         style="margin-right: 
15px;">{org.apache.spark.SPARK_VERSION}</span>
                 </a>
diff --git a/dev/.rat-excludes b/dev/.rat-excludes
index 5867bae4bea1..88a9e5d91558 100644
--- a/dev/.rat-excludes
+++ b/dev/.rat-excludes
@@ -142,4 +142,5 @@ ui-test/package-lock.json
 core/src/main/resources/org/apache/spark/ui/static/package.json
 testCommitLog
 .*\.har
+spark-logo.svg
 .nojekyll


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to