[PR #23479] [CLOSED] fix: reset loading state in PromptEditor submitHandler on error #50261

Closed
opened 2026-04-30 02:53:47 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/23479
Author: @funsaized
Created: 4/7/2026
Status: Closed

Base: devHead: fix/prompt-editor-loading-state-reset


📝 Commits (10+)

📊 Changes

1 file changed (+28 additions, -24 deletions)

View changed files

📝 src/lib/components/workspace/Prompts/PromptEditor.svelte (+28 -24)

📄 Description

Summary

Fixes https://github.com/open-webui/open-webui/issues/23472

The submitHandler in PromptEditor.svelte sets loading = true before calling await onSubmit(...), but if onSubmit throws (e.g., network error, server error), execution exits the function and loading = false is never reached. This leaves the Save button permanently disabled with no error feedback to the user.

Changes

Wrapped the onSubmit call in try/catch/finally:

  • catch: Shows an error toast via toast.error(), matching the error handling pattern used throughout this file (setAsProduction, handleDeleteHistory, debouncedSaveMetadata)
  • finally: Ensures loading = false always executes, re-enabling the Save button regardless of success or failure

Before

If onSubmit() rejects, the Save button stays disabled forever and the modal stays open with a spinner — no error feedback.

After

On failure: error toast is shown, loading spinner stops, Save button is re-enabled so the user can retry.


Contributor License Agreement

By submitting my contributions to this repository in any form, I grant Open WebUI Inc. a perpetual, worldwide, irrevocable, royalty-free license, under copyright and patent, to use, modify, distribute, sublicense, and commercialize my work under any terms they choose, both now and in the future.

I represent that my contributions are my original work (or that I have sufficient rights to grant this license) and that I have the authority to enter into this agreement.

To the fullest extent permitted by law, my contributions are provided on an "as is" basis, with no warranties or guarantees of any kind, and I disclaim any liability for any issues or damages arising from their use or incorporation into the project, regardless of the type of legal claim.


🔄 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/23479 **Author:** [@funsaized](https://github.com/funsaized) **Created:** 4/7/2026 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `fix/prompt-editor-loading-state-reset` --- ### 📝 Commits (10+) - [`fe6783c`](https://github.com/open-webui/open-webui/commit/fe6783c16699911c7be17392596d579333fb110c) Merge pull request #19030 from open-webui/dev - [`fc05e0a`](https://github.com/open-webui/open-webui/commit/fc05e0a6c5d39da60b603b4d520f800d6e36f748) Merge pull request #19405 from open-webui/dev - [`e3faec6`](https://github.com/open-webui/open-webui/commit/e3faec62c58e3a83d89aa3df539feacefa125e0c) Merge pull request #19416 from open-webui/dev - [`9899293`](https://github.com/open-webui/open-webui/commit/9899293f050ad50ae12024cbebee7e018acd851e) Merge pull request #19448 from open-webui/dev - [`140605e`](https://github.com/open-webui/open-webui/commit/140605e660b8186a7d5c79fb3be6ffb147a2f498) Merge pull request #19462 from open-webui/dev - [`6f1486f`](https://github.com/open-webui/open-webui/commit/6f1486ffd0cb288d0e21f41845361924e0d742b3) Merge pull request #19466 from open-webui/dev - [`d95f533`](https://github.com/open-webui/open-webui/commit/d95f533214e3fe5beb5e41ec1f349940bc4c7043) Merge pull request #19729 from open-webui/dev - [`a727153`](https://github.com/open-webui/open-webui/commit/a7271532f8a38da46785afcaa7e65f9a45e7d753) 0.6.43 (#20093) - [`6adde20`](https://github.com/open-webui/open-webui/commit/6adde203cd292a9e3af9c64a2ae36b603fed096a) Merge pull request #20394 from open-webui/dev - [`f9b0534`](https://github.com/open-webui/open-webui/commit/f9b0534e0c442631d1cb7205169588b9b6204179) Merge pull request #20522 from open-webui/dev ### 📊 Changes **1 file changed** (+28 additions, -24 deletions) <details> <summary>View changed files</summary> 📝 `src/lib/components/workspace/Prompts/PromptEditor.svelte` (+28 -24) </details> ### 📄 Description ## Summary Fixes https://github.com/open-webui/open-webui/issues/23472 The `submitHandler` in `PromptEditor.svelte` sets `loading = true` before calling `await onSubmit(...)`, but if `onSubmit` throws (e.g., network error, server error), execution exits the function and `loading = false` is never reached. This leaves the Save button permanently disabled with no error feedback to the user. ## Changes Wrapped the `onSubmit` call in `try/catch/finally`: - **`catch`**: Shows an error toast via `toast.error()`, matching the error handling pattern used throughout this file (`setAsProduction`, `handleDeleteHistory`, `debouncedSaveMetadata`) - **`finally`**: Ensures `loading = false` always executes, re-enabling the Save button regardless of success or failure ## Before If `onSubmit()` rejects, the Save button stays disabled forever and the modal stays open with a spinner — no error feedback. ## After On failure: error toast is shown, loading spinner stops, Save button is re-enabled so the user can retry. --- # Contributor License Agreement By submitting my contributions to this repository in any form, I grant Open WebUI Inc. a perpetual, worldwide, irrevocable, royalty-free license, under copyright and patent, to use, modify, distribute, sublicense, and commercialize my work under any terms they choose, both now and in the future. I represent that my contributions are my original work (or that I have sufficient rights to grant this license) and that I have the authority to enter into this agreement. **_To the fullest extent permitted by law, my contributions are provided on an "as is" basis, with no warranties or guarantees of any kind, and I disclaim any liability for any issues or damages arising from their use or incorporation into the project, regardless of the type of legal claim._** --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-30 02:53:47 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#50261