Skip to content

Conversation

@CREDO23
Copy link
Contributor

@CREDO23 CREDO23 commented Oct 23, 2025

Description

  • Add a right panel for the chat
  • User can directly generate a podcast for the chat
  • User can re-generate the podcast when it is stale (based on the chat messages)

Screenshots

Screenshot 2025-10-24 014920 Screenshot 2025-10-24 014633

Change Type

  • Bug fix
  • New feature
  • Performance improvement
  • Refactoring
  • Documentation
  • Dependency/Build system
  • Breaking change
  • Other (specify):###

High-level PR Summary

This PR introduces a collapsible right panel in the chat interface that allows users to generate podcasts directly from their chat conversations. The feature includes a podcast staleness detection system that tracks when chat messages are updated after podcast generation, alerting users when a podcast is outdated and enabling regeneration. The implementation involves database schema changes to track chat and podcast state versions, backend API endpoints to fetch podcasts by chat ID, and frontend components for the panel UI with staleness indicators and podcast generation controls.

⏱️ Estimated Review Time: 30-90 minutes

💡 Review Order Suggestion
Order File Path
1 surfsense_backend/alembic/versions/32_add_podcast_staleness_detection.py
2 surfsense_backend/app/db.py
3 surfsense_backend/app/schemas/chats.py
4 surfsense_backend/app/schemas/podcasts.py
5 surfsense_backend/app/routes/chats_routes.py
6 surfsense_backend/app/routes/podcasts_routes.py
7 surfsense_backend/app/tasks/podcast_tasks.py
8 surfsense_web/components/chat/PodcastUtils.ts
9 surfsense_web/hooks/use-podcast.ts
10 surfsense_web/app/dashboard/[search_space_id]/chats/chats-client.tsx
11 surfsense_web/app/dashboard/[search_space_id]/podcasts/podcasts-client.tsx
12 surfsense_web/hooks/use-chat.ts
13 surfsense_web/components/chat/ChatInterface.tsx
14 surfsense_web/components/chat/ChatPanel/ChatPanelContainer.tsx
15 surfsense_web/components/chat/ChatPanel/ChatPanelView.tsx
16 surfsense_web/components/chat/ChatPanel/ConfigModal.tsx
17 surfsense_web/package.json
⚠️ Inconsistent Changes Detected
File Path Warning
surfsense_web/package.json Adding a new script command 'format:fix' for Biome code formatting is unrelated to the podcast generation right panel feature

Need help? Join our Discord

Analyze latest changes

@vercel
Copy link

vercel bot commented Oct 23, 2025

@CREDO23 is attempting to deploy a commit to the Rohan Verma's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link

coderabbitai bot commented Oct 23, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@recurseml recurseml bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by RecurseML

🔍 Review performed on 420e2b6..3dd03a8

✨ No bugs found, your code is sparkling clean

✅ Files analyzed, no issues (16)

surfsense_backend/alembic/versions/32_add_podcast_staleness_detection.py
surfsense_backend/app/db.py
surfsense_backend/app/routes/chats_routes.py
surfsense_backend/app/routes/podcasts_routes.py
surfsense_backend/app/schemas/chats.py
surfsense_backend/app/schemas/podcasts.py
surfsense_backend/app/tasks/podcast_tasks.py
surfsense_web/app/dashboard/[search_space_id]/chats/chats-client.tsx
surfsense_web/app/dashboard/[search_space_id]/podcasts/podcasts-client.tsx
surfsense_web/components/chat/ChatPanel/ChatPanelContainer.tsx
surfsense_web/components/chat/ChatPanel/ChatPanelView.tsx
surfsense_web/components/chat/ChatPanel/ConfigModal.tsx
surfsense_web/components/chat/PodcastUtils.ts
surfsense_web/hooks/use-chat.ts
surfsense_web/hooks/use-podcast.ts
surfsense_web/package.json

@CREDO23 CREDO23 changed the title [Feature] Add the chat right panel [Feature] Add the chat panel Oct 23, 2025
Copy link
Owner

@MODSetter MODSetter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. New chat doesn't have any podcast so we get this err on new chat
Image
  1. Revisit after podcast generation gives these errors
Image
  1. Remove the seperate podcast section and just move the podcast player on this new right sidebar
Image
  1. Please make sure you keep your branch synced with main so that I can test it easily.

Copy link

@recurseml recurseml bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by RecurseML

🔍 Review performed on 3dd03a8..031e5db

✨ No bugs found, your code is sparkling clean

✅ Files analyzed, no issues (2)

surfsense_web/components/chat/ChatInterface.tsx
surfsense_web/components/chat/ChatPanel/ChatPanelView.tsx

@CREDO23 CREDO23 requested a review from MODSetter October 29, 2025 21:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants