Before submitting, make sure you've checked the following:
Target branch: Verify that the pull request targets the dev branch. Not targeting the dev branch may lead to immediate closure of the PR.
Description: Provide a concise description of the changes made in this pull request.
Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
Documentation: If necessary, update relevant documentation Open WebUI Docs like environment variables, the tutorials, or other documentation sources.
Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
Testing: Perform manual tests to verify the implemented fix/feature works as intended AND does not break any other functionality. Take this as an opportunity to make screenshots of the feature/fix and include it in the PR description.
Agentic AI Code:: Confirm this Pull Request is not written by any AI Agent or has at least gone through additional human review and manual testing. If any AI Agent is the co-author of this PR, it may lead to immediate closure of the PR.
Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
Title Prefix: To clearly categorize this pull request, prefix the pull request title using one of the following:
BREAKING CHANGE: Significant changes that may affect compatibility
build: Changes that affect the build system or external dependencies
ci: Changes to our continuous integration processes or workflows
chore: Refactor, cleanup, or other non-functional code changes
docs: Documentation update or addition
feat: Introduces a new feature or enhancement to the codebase
fix: Bug fix or error correction
i18n: Internationalization or localization changes
perf: Performance improvement
refactor: Code restructuring for better maintainability, readability, or scalability
style: Changes that do not affect the meaning of the code (white space, formatting, missing semi-colons, etc.)
test: Adding missing tests or correcting existing tests
WIP: Work in progress, a temporary label for incomplete or ongoing work
Changelog Entry
Description
This pull request fixes a bug in RecursiveFolder.svelte where an unhandled SyntaxError would appear in the browser console if a user tried to drag and drop an item that was not valid JSON (like a Note into a Folder). The onDrop event handler has been updated to gracefully catch this parsing error and log a user-friendly message instead, improving the stability and user experience of the drag-and-drop functionality.
Changed
Updated the onDrop event handler in src/lib/components/layout/Sidebar/RecursiveFolder.svelte to include a try...catch block for robust error handling.
Fixed
Corrected an issue where dropping non-JSON data onto a folder would trigger an unhandled console error.
The following browser console error when dragging a Note into a Folder (to intentionally trigger this error in):
The fix was implemented by mirroring the existing error-handling logic found in the src/lib/components/common/Folder.svelte component, ensuring consistent behavior across similar UI elements.
By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/open-webui/open-webui/pull/18301
**Author:** [@silentoplayz](https://github.com/silentoplayz)
**Created:** 10/13/2025
**Status:** ❌ Closed
**Base:** `dev` ← **Head:** `recursive-folder-drop-error`
---
### 📝 Commits (1)
- [`98719c0`](https://github.com/open-webui/open-webui/commit/98719c0cad534279d1fa6fb72549ad7f86709278) fix: handle non-json drop in recursivefolder
### 📊 Changes
**1 file changed** (+61 additions, -53 deletions)
<details>
<summary>View changed files</summary>
📝 `src/lib/components/layout/Sidebar/RecursiveFolder.svelte` (+61 -53)
</details>
### 📄 Description
# Pull Request Checklist
**Before submitting, make sure you've checked the following:**
- [X] **Target branch:** Verify that the pull request targets the `dev` branch. Not targeting the `dev` branch may lead to immediate closure of the PR.
- [X] **Description:** Provide a concise description of the changes made in this pull request.
- [X] **Changelog:** Ensure a changelog entry following the format of [Keep a Changelog](https://keepachangelog.com/) is added at the bottom of the PR description.
- [X] **Documentation:** If necessary, update relevant documentation [Open WebUI Docs](https://github.com/open-webui/docs) like environment variables, the tutorials, or other documentation sources.
- [X] **Dependencies:** Are there any new dependencies? Have you updated the dependency versions in the documentation?
- [X] **Testing:** Perform manual tests to verify the implemented fix/feature works as intended AND does not break any other functionality. Take this as an opportunity to make screenshots of the feature/fix and include it in the PR description.
- [X] **Agentic AI Code:**: Confirm this Pull Request is **not written by any AI Agent** or has at least gone through additional human review **and** manual testing. If any AI Agent is the co-author of this PR, it may lead to immediate closure of the PR.
- [X] **Code review:** Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
- [X] **Title Prefix:** To clearly categorize this pull request, prefix the pull request title using one of the following:
- **BREAKING CHANGE**: Significant changes that may affect compatibility
- **build**: Changes that affect the build system or external dependencies
- **ci**: Changes to our continuous integration processes or workflows
- **chore**: Refactor, cleanup, or other non-functional code changes
- **docs**: Documentation update or addition
- **feat**: Introduces a new feature or enhancement to the codebase
- **fix**: Bug fix or error correction
- **i18n**: Internationalization or localization changes
- **perf**: Performance improvement
- **refactor**: Code restructuring for better maintainability, readability, or scalability
- **style**: Changes that do not affect the meaning of the code (white space, formatting, missing semi-colons, etc.)
- **test**: Adding missing tests or correcting existing tests
- **WIP**: Work in progress, a temporary label for incomplete or ongoing work
# Changelog Entry
### Description
- This pull request fixes a bug in `RecursiveFolder.svelte` where an unhandled `SyntaxError` would appear in the browser console if a user tried to drag and drop an item that was not valid JSON (like a `Note` into a `Folder`). The `onDrop` event handler has been updated to gracefully catch this parsing error and log a user-friendly message instead, improving the stability and user experience of the drag-and-drop functionality.
### Changed
- Updated the `onDrop` event handler in `src/lib/components/layout/Sidebar/RecursiveFolder.svelte` to include a `try...catch` block for robust error handling.
### Fixed
- Corrected an issue where dropping non-JSON data onto a folder would trigger an unhandled console error.
- The following browser console error when dragging a Note into a Folder (to intentionally trigger this error in):
```js
Error parsing dataTransfer: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
onDrop RecursiveFolder.svelte:127
instance RecursiveFolder.svelte:257
run utils.js:41
mount_component Component.js:47
flush scheduler.js:99
init Component.js:164
RecursiveFolder RecursiveFolder.svelte:2708
createComponent svelte-hooks.js:206
$replace svelte-hooks.js:269
refreshComponent proxy.js:171
rerender proxy-adapter-dom.js:77
reload proxy.js:408
reload proxy.js:406
applyHmr hot-api.js:150
accept client:34
fetchUpdate client:218
queueUpdate client:193
queueUpdate client:193
handleMessage client:642
handleMessage client:640
setupWebSocket client:550
setupWebSocket client:549
<anonymous> client:531
RecursiveFolder.svelte:190:16
```
### Additional Information
- The fix was implemented by mirroring the existing error-handling logic found in the `src/lib/components/common/Folder.svelte` component, ensuring consistent behavior across similar UI elements.
- Related fix: https://github.com/open-webui/open-webui/pull/15093
### Contributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/18301
Author: @silentoplayz
Created: 10/13/2025
Status: ❌ Closed
Base:
dev← Head:recursive-folder-drop-error📝 Commits (1)
98719c0fix: handle non-json drop in recursivefolder📊 Changes
1 file changed (+61 additions, -53 deletions)
View changed files
📝
src/lib/components/layout/Sidebar/RecursiveFolder.svelte(+61 -53)📄 Description
Pull Request Checklist
Before submitting, make sure you've checked the following:
devbranch. Not targeting thedevbranch may lead to immediate closure of the PR.Changelog Entry
Description
RecursiveFolder.sveltewhere an unhandledSyntaxErrorwould appear in the browser console if a user tried to drag and drop an item that was not valid JSON (like aNoteinto aFolder). TheonDropevent handler has been updated to gracefully catch this parsing error and log a user-friendly message instead, improving the stability and user experience of the drag-and-drop functionality.Changed
onDropevent handler insrc/lib/components/layout/Sidebar/RecursiveFolder.svelteto include atry...catchblock for robust error handling.Fixed
Additional Information
src/lib/components/common/Folder.sveltecomponent, ensuring consistent behavior across similar UI elements.Contributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.