mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-22 21:19:30 -05:00
[GH-ISSUE #22740] issue: each_key_duplicate Error and Broken Infinite Scroll on Notes Page
#35332
Reference in New Issue
Block a user
Originally created by @silentoplayz on GitHub (Mar 16, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/22740
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.8.10
Ollama Version (if applicable)
v0.18.0
Operating System
Ubuntu 24.04.4 LTS
Browser (if applicable)
Mozilla Firefox Snap for Ubuntu v148.0.2 (64-bit) / Google Chrome v146.0.7680.80 (Official Build) (64-bit)
Confirmation
README.md.Expected Behavior
When visiting the Notes page from the sidebar and scrolling through the list of existing notes, the infinite scroller should fetch and append the older notes sequentially without throwing errors or halting the rendering sequence.
Actual Behavior
Scrolling through the list of notes triggers the Svelte error
Uncaught Error: https://svelte.dev/e/each_key_duplicate, halting the rendering of the items. Any notes not initially displayed to the user fail to load as a result of the UI crashing.Steps to Reproduce
v0.8.10version on Ubuntu 24.04.4 LTS using Firefox v148.0.2.Notespage via the sidebar/notes.Uncaught Error: https://svelte.dev/e/each_key_duplicatein the browser dev tools console, and notice that the pagination fails to append the new list of notes to the UI.Logs & Screenshots
Browser Console Error(s) (One may or may not be more helpful than the other for debugging/diagnosis of the issue)
First capture (Docker build):
Second capture (Local VSCode build):
Screenshot
First capture (Docker build):

Second capture (Local VSCode build):

Additional Information
This issue is caused by the Svelte keyed
#eachblocks insidesrc/lib/components/notes/Notes.svelte. Specifically, either lines 477 ({#each notesList as note, idx (note.id)}) or 563 ({#each notesList as note, idx (note.id)}) throw a duplicate key error because thenote.idis not strictly unique among the rendereditemsarray. WhengetItemsPage()appends the newly fetchedpageItemsarrays toitems(items = [...items, ...pageItems];), overlapping or duplicate items bypass any deduplication logic and crash theeachblock since the identifier(note.id)appears more than once. Filtering out duplicates prior to setting theitemsstate, or utilizing unique synthetic keys for rendering, would resolve this issue.@silentoplayz commented on GitHub (Mar 21, 2026):
Should be solved with https://github.com/open-webui/open-webui/commit/58e78e8946fb3644107489fe8e01b17709302b2f#diff-4bb6dfc98d2cc12b6ce0fa3d5d6d4309736a92eec0cf7188b90572904b523412R224. Closing this issue out!