fix: duplicate prompt suggestions freezes webpage#18841
Conversation
|
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! |
|
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! |
|
LGTM, Thanks! |
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:
devbranch. Not targeting thedevbranch may lead to immediate closure of the PR.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
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.