mirror of
https://github.com/open-webui/open-webui
synced 2025-05-30 02:02:13 +00:00
fix(chat): resolve duplicate collapsible IDs causing citation modal failures
Fix an issue where clicking inline citations in subsequent chat messages failed to open the citation modal when multiple collapsible sections are present. The root cause was duplicate "collapsible-sources" IDs assigned to all Collapsible components. This led document.getElementById() to always return the first instance, preventing subsequent messages from opening their CitationModal. Changes: - Modify Collapsible ID generation in Citations.svelte to use unique IDs with "collapsible-${message.id}" pattern - Update ResponseMessage.svelte's onSourceClick handler to reference the dynamic collapsible IDs - Ensure proper citation modal binding for each chat message's sources Affected components: - Collapsible (expandable content sections) - CitationsModal (citation detail popup) This ensures each chat message's sources are independently collapsible and maintains proper citation modal binding throughout message history.
This commit is contained in:
parent
1173459eee
commit
9cc9df3018
@ -124,7 +124,7 @@
|
||||
</div>
|
||||
{:else}
|
||||
<Collapsible
|
||||
id="collapsible-sources"
|
||||
id={`collapsible-${id}`}
|
||||
bind:open={isCollapsibleOpen}
|
||||
className="w-full max-w-full "
|
||||
buttonClassName="w-fit max-w-full"
|
||||
|
@ -748,7 +748,7 @@
|
||||
onSourceClick={async (id, idx) => {
|
||||
console.log(id, idx);
|
||||
let sourceButton = document.getElementById(`source-${message.id}-${idx}`);
|
||||
const sourcesCollapsible = document.getElementById(`collapsible-sources`);
|
||||
const sourcesCollapsible = document.getElementById(`collapsible-${message.id}`);
|
||||
|
||||
if (sourceButton) {
|
||||
sourceButton.click();
|
||||
|
Loading…
Reference in New Issue
Block a user