Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AI Chat: don't unload conversations that are associated with non-content-sending pages, e.g. chrome:// or where content is disabled #26952

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

petemill
Copy link
Member

Resolves brave/brave-browser#42783

Submitter Checklist:

  • I confirm that no security/privacy review is needed and no other type of reviews are needed, or that I have requested them
  • There is a ticket for my issue
  • Used Github auto-closing keywords in the PR description above
  • Wrote a good PR/commit description
  • Squashed any review feedback or "fixup" commits before merge, so that history is a record of what happened in the repo, not your PR
  • Added appropriate labels (QA/Yes or QA/No; release-notes/include or release-notes/exclude; OS/...) to the associated issue
  • Checked the PR locally:
    • npm run test -- brave_browser_tests, npm run test -- brave_unit_tests wiki
    • npm run presubmit wiki, npm run gn_check, npm run tslint
  • Ran git rebase master (if needed)

Reviewer Checklist:

  • A security review is not needed, or a link to one is included in the PR description
  • New files have MPL-2.0 license header
  • Adequate test coverage exists to prevent regressions
  • Major classes, functions and non-trivial code blocks are well-commented
  • Changes in component dependencies are properly reflected in gn
  • Code follows the style guide
  • Test plan is specified in PR before merging

After-merge Checklist:

Test Plan:

@petemill petemill self-assigned this Dec 10, 2024
@petemill petemill force-pushed the ai-chat-keep-conversation-alive-all branch 3 times, most recently from 9cb75ec to 40f17c1 Compare December 10, 2024 19:10
@petemill petemill requested a review from a team as a code owner December 10, 2024 19:10
…ent-sending pages, e.g. chrome:// or where content is disabled
@petemill petemill force-pushed the ai-chat-keep-conversation-alive-all branch from 40f17c1 to 2874282 Compare December 10, 2024 19:21
@petemill
Copy link
Member Author

I'm not so happy with passing AIChatService everywhere so that AssociatedContentDriver can call service_->OnAssociatedContentDestroyed(content_id) to unload a conversation. Seems a bit messy and difficult to follow and relies on the caller remembering to call that. I thought instead I could make AssociatedContentDelegate have an Observer that AIChatService could observe something like OnConversationsDissassociated on. Seems weird having AssociatedContentDelegate::Observer and AssociatedContentDriver::Observer (*Driver inherits from *Delegate, but I think it's ok in Chromium

return;
}

bool has_history = conversation_handler->HasAnyHistory();
std::string uuid = conversation_handler->get_conversation_uuid();
Copy link
Contributor

Choose a reason for hiding this comment

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

is there a reason get_conversation_uuid doesn't return a const std::string&? Seems like we might be doing some unnecessary copying

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants