Fix response detection and add notebook title sync - #48
Open
ajagjivan-celonis wants to merge 1 commit into
Open
Conversation
- Replace character-by-character typing with page.fill() to prevent DOM detachment errors during React re-renders - Wait for chat history to fully load before capturing baseline - Use hash-based detection to find new responses (NotebookLM inserts them at arbitrary DOM positions, not always at the end) - Add question verification after typing - Auto-detect notebook title from page.title() and sync with local library.json when names differ Fixes stale/cached responses being returned instead of actual answers. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Problem 1: Stale Responses
The
ask_question.pyscript was returning cached responses from chat history instead of the actual answer. NotebookLM's DOM inserts new responses at arbitrary positions (not always at the end), and the original code captured baselines before async history loaded.Problem 2: Notebook Names Out of Sync
Local
library.jsonstored names at add-time but never updated them when users renamed notebooks in NotebookLM's web UI.Solution
element.type()withpage.fill()to prevent DOM detachment errors during React re-renderspage.title()and auto-updatelibrary.jsonwhen names differTest plan
🤖 Generated with Claude Code