This is an automated email from the ASF dual-hosted git repository. pdallig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/zeppelin.git
The following commit(s) were added to refs/heads/master by this push: new 890ddfefb4 [ZEPPELIN-6202] Fix %20 showing in notebook tree by URL-decoding note file paths 890ddfefb4 is described below commit 890ddfefb498155d6823cc948a0d861ec4100a76 Author: Gyeongtae Park <67095975+parkgyeong...@users.noreply.github.com> AuthorDate: Tue Jul 29 16:44:02 2025 +0900 [ZEPPELIN-6202] Fix %20 showing in notebook tree by URL-decoding note file paths ### What is this PR for? This PR fixes a UI bug where notebook and folder names that contain spaces are displayed with the URL-encoded text %20 in the notebook tree (e.g., Flink%20Tutorial). We now URL-decode the VFS path and keep the existing Windows-specific prefix handling, so names with spaces render correctly across all platforms. ### What type of PR is it? Bug Fix ### Todos * [x] - Add URL-decode logic in path normalisation ### What is the Jira issue? * Jira: https://issues.apache.org/jira/browse/ZEPPELIN/ZEPPELIN-6202 ### How should this be tested? * Build this branch and start Zeppelin. * Create or import a notebook whose name contains a space (e.g., “Python Tutorial”). ### Screenshots (if appropriate) Before  After  ### Questions: * Does the license files need to update? No. * Is there breaking changes for older versions? No. * Does this needs documentation? No. Closes #4947 from ParkGyeongTae/ZEPPELIN-6202. Signed-off-by: Philipp Dallig <philipp.dal...@gmail.com> --- .../org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java index 70175f5538..32e433fff8 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java @@ -22,6 +22,8 @@ import java.io.IOException; import java.io.OutputStream; import java.net.URI; import java.net.URISyntaxException; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -114,9 +116,13 @@ public class VFSNotebookRepo extends AbstractNotebookRepo { noteInfos.putAll(listFolder(child)); } } else { - // getPath() method returns a string without root directory in windows, so we use getURI() instead - // windows does not support paths with "file:///" prepended. so we replace it by "/" - String noteFileName = fileObject.getName().getURI().replace("file:///", "/"); + // getPath() drops the drive on Windows, so use getURI(). + // Decode URI to change %20 to spaces. + // Windows cannot handle "file:///", replace it with "/". + String noteFileName = URLDecoder.decode( + fileObject.getName().getURI(), StandardCharsets.UTF_8 + ).replace("file:///", "/"); + if (noteFileName.endsWith(".zpln")) { try { String noteId = getNoteId(noteFileName);