Skip to content

User Conversation History Panel #372

@placerda

Description

@placerda

Why are we doing this?
Currently, conversations with the system are ephemeral: once the session ends, the user loses the history and cannot revisit or continue from past discussions. Introducing a persistent conversation panel will provide users with a more natural and continuous experience, similar to ChatGPT, where they can revisit and resume their previous interactions. This will also ensure that valuable insights are not lost and that users can build context across sessions.

What does it do?

Conversation history persistence
Stores user conversations in Cosmos DB, maintaining a structured record of past interactions that can be retrieved and displayed in the UI.

User-specific conversation panel
Provides logged-in users with a side panel listing their previous conversations, allowing them to easily browse, select, and continue a session.

Seamless continuity
Enables smoother workflows by letting users revisit context without having to re-upload documents or repeat instructions, enhancing usability and efficiency.

Delete previous conversations
User will be able to delete previous conversations, but they should continue existing in CosmosDB for reporting/auditability.

Technical Guidelines

  • Implement a Cosmos DB collection to store user conversation history, keyed by user identity.
  • Extend the authentication flow so only logged-in users can access their personal conversation history.
  • Build APIs to fetch, paginate, and display conversation sessions in the panel.
  • Use the Orchestrator as the API layer responsible for persisting, retrieving, and deleting user conversations in Cosmos DB, ensuring a consistent, secure access to conversation history.
  • Ensure secure storage and retrieval, respecting data privacy and tenant boundaries.
  • Provide logging for conversation save/retrieve operations and handle cases where history is unavailable or partially stored.

References

cc: @skt680

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions