Skip to content

Comments

fix: duplicate prompt suggestions freezes webpage#18841

Merged
tjbck merged 1 commit intoopen-webui:devfrom
acomarcho:fix/duplicate-prompt-suggestions-freezes-webpage
Nov 6, 2025
Merged

fix: duplicate prompt suggestions freezes webpage#18841
tjbck merged 1 commit intoopen-webui:devfrom
acomarcho:fix/duplicate-prompt-suggestions-freezes-webpage

Conversation

@acomarcho
Copy link
Contributor

@acomarcho acomarcho commented Nov 1, 2025

Pull Request Checklist

Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.

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 PR fixes this issue reported in #18566
Now, duplicate prompt contents won't freeze the page.

Added

None

Changed

Gave each filteredPrompt an unique composite key of content and index.

Deprecated

None

Removed

None

Fixed

This PR fixes this issue reported in #18566

Security

None

Breaking Changes

None


Additional Information

This PR fixes this issue reported in #18566

Ideally, we'd have a unique ID stored as the backend so the frontend reconciliation can be done better. This will need some sort of backend migration.

But, it's probably going to be a short list of data anyways, so I believe this quick fix from the frontend side should suffice.

We are not just using indexes because that could be problematic when reconciliation occurs, so a composite key of content + idx is used this way.

Screenshots or Videos

image

Page now renders properly when we have the same prompt content.

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.

@silentoplayz
Copy link
Collaborator

I've tested this PR and it successfully eliminates any browser console errors from being thrown with my reproduction steps outlined/highlighted in #18566. It does not prevent duplicate suggestion prompts from being added, keeping this PR atomic as possible. LGTM!

@fsmw
Copy link

fsmw commented Nov 1, 2025

Excellent fix! 🎯 I also implemented a very similar solution in PR #18849 - the deduplication approach using reactive statements is definitely the right way to handle this.

Your solution with unique keys by index is elegant and follows Svelte best practices. It's great to see multiple contributors arriving at the same clean approach independently - shows it's the right technical direction!

Thanks for taking the lead on this important UI fix that affects anyone setting up prompt suggestions. This will definitely help users avoid the frustrating freeze issue.

💘 Learned while contributing alongside you!

@tjbck
Copy link
Contributor

tjbck commented Nov 6, 2025

LGTM, Thanks!

@tjbck tjbck merged commit 4daf81f into open-webui:dev Nov 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants