open-notebook/api/routers
Luis Novo 992442150e
feat: add ability to link existing sources to notebooks (OSS-311) (#177)
* fix: small issue where users cant change podcast segments

* chore: remove playwright mcp from gut

* feat: add ability to link existing sources to notebooks (OSS-311)

Implemented bidirectional source-notebook linking functionality:

Backend changes:
- Add POST endpoint to link sources to notebooks
- Include notebook associations in source detail response
- Implement idempotent linking with proper RecordID handling

Frontend changes:
- Add AddExistingSourceDialog with search and multi-select
- Add NotebookAssociations component for source detail view
- Add dropdown menu to "Add Source" button (new/existing)
- Implement useAddSourcesToNotebook hook with graceful error handling
- Fix dialog pointer-events during close animation
- Add loading states and disable checkboxes for linked sources
- Optimize dialog width with proper responsive breakpoints

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: address PR review feedback

- Fix sources.py query to use correct reference direction (OUT where IN)
- Remove debug console.log statements
- Add truncation warning for 100+ source lists

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-19 17:52:14 -03:00
..
__init__.py Api podcast migration (#93) 2025-07-17 08:36:11 -03:00
auth.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
chat.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
commands.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
config.py fix: better fix to the backend connectivity problem using the react backend for guessing the API URL 2025-10-19 10:16:58 -03:00
context.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
embedding.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
embedding_rebuild.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
episode_profiles.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
insights.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
models.py OpenAI compatible multimodal (#167) 2025-10-19 07:44:05 -03:00
notebooks.py feat: add ability to link existing sources to notebooks (OSS-311) (#177) 2025-10-19 17:52:14 -03:00
notes.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
podcasts.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
search.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
settings.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
source_chat.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
sources.py feat: add ability to link existing sources to notebooks (OSS-311) (#177) 2025-10-19 17:52:14 -03:00
speaker_profiles.py Version 1 (#160) 2025-10-18 12:46:22 -03:00
transformations.py Version 1 (#160) 2025-10-18 12:46:22 -03:00