[PR #21519] [CLOSED] feat: add Conversation Anchors (pin messages & quick navigation) #26116

Closed
opened 2026-04-20 06:20:25 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/21519
Author: @Vishal27alpha
Created: 2/17/2026
Status: Closed

Base: devHead: feature/conversation-anchors


📝 Commits (10+)

📊 Changes

12 files changed (+11372 additions, -16 deletions)

View changed files

📝 cypress/e2e/chat.cy.ts (+91 -0)
pnpm-lock.yaml (+10683 -0)
📝 src/lib/components/chat/Chat.svelte (+173 -0)
📝 src/lib/components/chat/ContentRenderer/FloatingButtons.svelte (+30 -0)
📝 src/lib/components/chat/Messages.svelte (+2 -0)
📝 src/lib/components/chat/Messages/ContentRenderer.svelte (+57 -7)
📝 src/lib/components/chat/Messages/Message.svelte (+4 -0)
📝 src/lib/components/chat/Messages/MultiResponseMessages.svelte (+3 -0)
📝 src/lib/components/chat/Messages/ResponseMessage.svelte (+3 -0)
📝 src/lib/components/chat/Messages/UserMessage.svelte (+148 -9)
📝 src/lib/components/layout/Sidebar.svelte (+111 -0)
src/lib/utils/pinnedSnippets.ts (+67 -0)

📄 Description

Pull Request Checklist

Description

This PR introduces Conversation Anchors (Pinned Messages) in chat.

Users can pin important messages and quickly navigate back to them from a dedicated sidebar section.
This significantly improves usability in long conversations where important instructions, code snippets, or answers may otherwise be lost.

The feature behaves similarly to bookmarks in documentation tools.


Features

  • Pin / unpin any message
  • Sidebar section showing pinned messages
  • Click to instantly scroll to the message
  • Works across long conversations
  • Persists during navigation & refresh
  • Supports multiple pins

UX Behavior

  • Hover message → pin button appears
  • Pinned messages appear in sidebar
  • Clicking pinned item scrolls smoothly to message
  • Removing message removes it from sidebar

Testing

Manually tested the following cases:

  • Long conversations
  • Multiple pinned messages
  • Removing pins
  • Switching chats
  • Page refresh
  • Fast consecutive pin/unpin
  • Scroll accuracy in large chat history

No existing features were affected.


Changelog Entry

Description

Adds conversation anchors allowing users to pin messages and quickly navigate to them.

Added

  • Pin message button in chat messages
  • Sidebar pinned messages section
  • Smooth scroll navigation to message

Changed

  • Chat message component enhanced to support anchors
  • Sidebar updated to render pinned items

Fixed

  • Improves usability in long conversations by preventing loss of important context

Additional Information

This feature was previously discussed in Discussions before implementation.

The implementation keeps state local to the chat and does not introduce new backend dependencies.


Screenshots or Videos

Kapture 2026-02-17 at 16 23 32 copy


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.


🔄 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/21519 **Author:** [@Vishal27alpha](https://github.com/Vishal27alpha) **Created:** 2/17/2026 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `feature/conversation-anchors` --- ### 📝 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 **12 files changed** (+11372 additions, -16 deletions) <details> <summary>View changed files</summary> 📝 `cypress/e2e/chat.cy.ts` (+91 -0) ➕ `pnpm-lock.yaml` (+10683 -0) 📝 `src/lib/components/chat/Chat.svelte` (+173 -0) 📝 `src/lib/components/chat/ContentRenderer/FloatingButtons.svelte` (+30 -0) 📝 `src/lib/components/chat/Messages.svelte` (+2 -0) 📝 `src/lib/components/chat/Messages/ContentRenderer.svelte` (+57 -7) 📝 `src/lib/components/chat/Messages/Message.svelte` (+4 -0) 📝 `src/lib/components/chat/Messages/MultiResponseMessages.svelte` (+3 -0) 📝 `src/lib/components/chat/Messages/ResponseMessage.svelte` (+3 -0) 📝 `src/lib/components/chat/Messages/UserMessage.svelte` (+148 -9) 📝 `src/lib/components/layout/Sidebar.svelte` (+111 -0) ➕ `src/lib/utils/pinnedSnippets.ts` (+67 -0) </details> ### 📄 Description <!-- ⚠️ CRITICAL CHECKS FOR CONTRIBUTORS (READ, DON'T DELETE) ⚠️ 1. Target the `dev` branch. PRs targeting `main` will be automatically closed. 2. Do NOT delete the CLA section at the bottom. It is required for the bot to accept your PR. --> # Pull Request Checklist ### Description This PR introduces **Conversation Anchors (Pinned Messages)** in chat. Users can pin important messages and quickly navigate back to them from a dedicated sidebar section. This significantly improves usability in long conversations where important instructions, code snippets, or answers may otherwise be lost. The feature behaves similarly to bookmarks in documentation tools. --- ## Features - Pin / unpin any message - Sidebar section showing pinned messages - Click to instantly scroll to the message - Works across long conversations - Persists during navigation & refresh - Supports multiple pins --- ## UX Behavior - Hover message → pin button appears - Pinned messages appear in sidebar - Clicking pinned item scrolls smoothly to message - Removing message removes it from sidebar --- ## Testing Manually tested the following cases: - Long conversations - Multiple pinned messages - Removing pins - Switching chats - Page refresh - Fast consecutive pin/unpin - Scroll accuracy in large chat history No existing features were affected. --- # Changelog Entry ### Description Adds conversation anchors allowing users to pin messages and quickly navigate to them. ### Added - Pin message button in chat messages - Sidebar pinned messages section - Smooth scroll navigation to message ### Changed - Chat message component enhanced to support anchors - Sidebar updated to render pinned items ### Fixed - Improves usability in long conversations by preventing loss of important context --- ### Additional Information This feature was previously discussed in Discussions before implementation. The implementation keeps state local to the chat and does not introduce new backend dependencies. --- ### Screenshots or Videos ![Kapture 2026-02-17 at 16 23 32 copy](https://github.com/user-attachments/assets/099ae80a-6c98-4715-8b03-dc9b0fb0b4fc) --- ### Contributor License Agreement By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms. --- <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-20 06:20:25 -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#26116