Skip to content

Commit

Permalink
Uplift AI Chat Full Page Storage feature
Browse files Browse the repository at this point in the history
- [AIChat conversation data storage by petemill · Pull Request \#25876 · brave/brave-core](#25876)
  - [AI Chat conversations should persist browser restart · Issue \#42800 · brave/brave-browser](brave/brave-browser#42800) `QA/Yes`
- [\[AIChat\]: Add URL based routing for different chats by fallaciousreasoning · Pull Request \#26050 · brave/brave-core](#26050)
  - [\[AI Chat\]: URLs for all conversations · Issue \#42055 · brave/brave-browser](brave/brave-browser#42055) `QA/Yes`
    - test plan: url and header variations specified
- [AI Chat fullpage UI notices and polish by petemill · Pull Request \#26678 · brave/brave-core](#26678)
  - [AI Chat conversation list should prompt to enable history storage if it's disabled · Issue \#42576 · brave/brave-browser](brave/brave-browser#42576) `QA/Yes`
    - test plan: specified
  - [AI Chat notice for conversation storage · Issue \#42360 · brave/brave-browser](brave/brave-browser#42360) `QA/Yes`
    - test plan: specified
  - [AI Chat FullPage shouldn't show in SidePanel mode when restored at startup · Issue \#42413 · brave/brave-browser](brave/brave-browser#42413) `QA/Yes`
    - test plan: specified
- [AI Chat becomes a trusted WebUI with an UntrustedWebUI frame for LLM-generated responses by petemill · Pull Request \#26855 · brave/brave-core](#26855)
  - [Change AI Chat url to chrome://leo-ai · Issue \#42817 · brave/brave-browser](brave/brave-browser#42817) `QA/Yes`
  - [AI Chat conversation entries should be isolated in an untrusted frame · Issue \#42818 · brave/brave-browser](brave/brave-browser#42818) `QA/No`
- [\[AI Chat\]: Update copy button label by fallaciousreasoning · Pull Request \#26422 · brave/brave-core](#26422)
  - [Change copy button name to text if text in code block · Issue \#42117 · brave/brave-browser](brave/brave-browser#42117) `QA/Yes`
- [\[AI Chat\]: Conversation starter pack, for unassociated content by fallaciousreasoning · Pull Request \#26379 · brave/brave-core](#26379)
  - [\[AI Chat\]: Add support for static conversation starters · Issue \#42106 · brave/brave-browser](brave/brave-browser#42106) `QA/Yes`
    - test plan: needs improvement
- [Css tweaks and icon change for sidebar by aguscruiz · Pull Request \#26450 · brave/brave-core](#26450)
  - [\[Leo full page\] - Tweak to expand/collapse sidebar icons · Issue \#42068 · brave/brave-browser](brave/brave-browser#42068) `QA/Yes`
    - test plan: specified (check icons are correct)
- [\[AI Chat\]: Update styling on suggestions by fallaciousreasoning · Pull Request \#26565 · brave/brave-core](#26565)
  - [\[AI Chat\]: Update suggestions style to match new design · Issue \#42107 · brave/brave-browser](brave/brave-browser#42107) `QA/Yes`
    - test plan: specified (check suggestions have new style)
- [\[AI Chat\]: Don't show starter suggestions on non-empty chats by fallaciousreasoning · Pull Request \#26677 · brave/brave-core](#26677)
  - [AI Chat static conversation starters shouldn't show if conversation has chat history · Issue \#42412 · brave/brave-browser](brave/brave-browser#42412) `QA/Yes`
    - test plan: specified (verify conversation starters only show when applicable)
- [fix hit area for leo conversations list by aguscruiz · Pull Request \#26793 · brave/brave-core](#26793)
  - [Leo full page - Conversation list - Make the whole item clickable instead of excluding the padding · Issue \#42552 · brave/brave-browser](brave/brave-browser#42552) `QA/No`
- [\[Nala / @brave/leo\] update dependency by petemill · Pull Request \#26767 · brave/brave-core](#26767)
  - brave/brave-browser#42545 `QA/No`
  • Loading branch information
petemill committed Dec 11, 2024
1 parent c4a2c55 commit 4ab7a93
Show file tree
Hide file tree
Showing 239 changed files with 7,595 additions and 1,998 deletions.
26 changes: 16 additions & 10 deletions app/brave_settings_strings.grdp
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
Position
</message>
<message name="IDS_SETTINGS_APPEARANCE_SETTINGS_BRAVE_TAB_VERTICAL_TAB_EXPANDED_STATE_PER_WINDOW" desc="Title for checkbox to set expanded state per window">
Expand vertical tabs independently per window
Expand vertical tabs independently per window
</message>
<message name="IDS_SETTINGS_APPEARANCE_SETTINGS_BRAVE_TAB_VERTICAL_TAB_SHOW_SCROLLBAR" desc="Title for checkbox to show scrollbar on vertical tabs">
Show scrollbar
Expand Down Expand Up @@ -1332,23 +1332,29 @@
<message name="IDS_SETTINGS_LEO_ASSISTANT_SHOW_SUGGESTED_PROMPTS_LABEL" desc="The text for settings option">
Show suggested prompts in the conversation
</message>
<message name="IDS_SETTINGS_LEO_ASSISTANT_RESET_AND_CLEAR_DATA_LABEL" desc="The text for settings option">
Clear Leo data
<message name="IDS_SETTINGS_LEO_ASSISTANT_HISTORY_PREFERENCE_LABEL" desc="The label for the checkbox determining whether to store AI Chat conversations">
Store my conversation history
</message>
<message name="IDS_SETTINGS_LEO_ASSISTANT_HISTORY_PREFERENCE_CONFIRM" desc="The confirmation prompt about disabling the AI Chat history preference">
Disabling conversation storage will permanently erase all previously stored conversations. This action can't be undone.
</message>
<message name="IDS_SETTINGS_LEO_ASSISTANT_RESET_AND_CLEAR_DATA_LABEL" desc="The button label for deleteing all AI Chat conversations">
Delete all Leo AI conversation data
</message>
<message name="IDS_SETTINGS_LEO_ASSISTANT_RESET_AND_CLEAR_DATA_CONFIRMATION_LABEL" desc="The confirmation window message for reset option">
Resetting the Leo assistant will require you to opt-in to use Brave
Leo in the future and will also clear your chat history. Clearing your
Resetting Leo AI will require you to opt-in to use Brave
Leo AI in the future and will also clear your chat history. Clearing your
chat history will delete all your previous conversations with Brave
Leo. This action can't be undone.
Leo AI. This action can't be undone.
</message>
<message name="IDS_SETTINGS_LEO_ASSISTANT_AUTOCOMPLETE_LINK" desc="A label for a link to settings page to adjust autocomplete suggestion based on Leo">
Adjust autocomplete suggestions
</message>
<message name="IDS_SETTINGS_LEO_ASSISTANT_CLEAR_HISTORY_DATA_LABEL" desc="The text for settings option">
Leo
<message name="IDS_SETTINGS_AI_CHAT_CLEAR_HISTORY_DATA_LABEL" desc="Label for checkbox to select AI assistant conversations for deletion when deleting browser data">
Leo AI
</message>
<message name="IDS_SETTINGS_LEO_ASSISTANT_CLEAR_HISTORY_DATA_SUBLABEL" desc="The text for settings option">
Data and chat history
<message name="IDS_SETTINGS_AI_CHAT_CLEAR_HISTORY_DATA_SUBLABEL" desc="Label description for checkbox to select AI assistant conversations for deletion when deleting browser data">
Chat history
</message>
<message name="IDS_SETTINGS_LEO_ASSISTANT_MODEL_SELECTION_LABEL" desc="Label for selecting default model">
Default model for new conversations
Expand Down
3 changes: 2 additions & 1 deletion browser/ai_chat/ai_chat_service_factory.cc
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,10 @@ AIChatServiceFactory::BuildServiceInstanceForBrowserContext(
(g_brave_browser_process->process_misc_metrics())
? g_brave_browser_process->process_misc_metrics()->ai_chat_metrics()
: nullptr,
g_browser_process->os_crypt_async(),
context->GetDefaultStoragePartition()
->GetURLLoaderFactoryForBrowserProcess(),
version_info::GetChannelString(chrome::GetChannel()));
version_info::GetChannelString(chrome::GetChannel()), context->GetPath());
}

} // namespace ai_chat
2 changes: 1 addition & 1 deletion browser/ai_chat/android/ai_chat_utils_android.cc
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ static void JNI_BraveLeoUtils_OpenLeoQuery(
// Send the query
conversation->MaybeUnlinkAssociatedContent();
mojom::ConversationTurnPtr turn = mojom::ConversationTurn::New(
mojom::CharacterType::HUMAN, mojom::ActionType::QUERY,
std::nullopt, mojom::CharacterType::HUMAN, mojom::ActionType::QUERY,
mojom::ConversationTurnVisibility::VISIBLE,
base::android::ConvertJavaStringToUTF8(query), std::nullopt, std::nullopt,
base::Time::Now(), std::nullopt, false);
Expand Down
5 changes: 5 additions & 0 deletions browser/brave_content_browser_client.cc
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
#include "brave/browser/skus/skus_service_factory.h"
#include "brave/browser/ui/brave_ui_features.h"
#include "brave/browser/ui/webui/ai_chat/ai_chat_ui.h"
#include "brave/browser/ui/webui/ai_chat/ai_chat_untrusted_conversation_ui.h"
#include "brave/browser/ui/webui/brave_rewards/rewards_page_ui.h"
#include "brave/browser/ui/webui/skus_internals_ui.h"
#include "brave/browser/url_sanitizer/url_sanitizer_service_factory.h"
Expand All @@ -49,6 +50,7 @@
#include "brave/components/ai_chat/core/common/mojom/ai_chat.mojom.h"
#include "brave/components/ai_chat/core/common/mojom/page_content_extractor.mojom.h"
#include "brave/components/ai_chat/core/common/mojom/settings_helper.mojom.h"
#include "brave/components/ai_chat/core/common/mojom/untrusted_frame.mojom.h"
#include "brave/components/ai_rewriter/common/buildflags/buildflags.h"
#include "brave/components/body_sniffer/body_sniffer_throttle.h"
#include "brave/components/brave_federated/features.h"
Expand Down Expand Up @@ -620,6 +622,9 @@ void BraveContentBrowserClient::RegisterWebUIInterfaceBrokers(
registry.ForWebUI<AIChatUI>()
.Add<ai_chat::mojom::AIChatUIHandler>()
.Add<ai_chat::mojom::Service>();
registry.ForWebUI<AIChatUntrustedConversationUI>()
.Add<ai_chat::mojom::UntrustedUIHandler>()
.Add<ai_chat::mojom::UntrustedConversationHandler>();
}

#if BUILDFLAG(ENABLE_AI_REWRITER)
Expand Down
32 changes: 21 additions & 11 deletions browser/browsing_data/brave_browsing_data_remover_delegate.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
#include <memory>
#include <utility>

#include "brave/browser/ai_chat/ai_chat_service_factory.h"
#include "brave/browser/brave_news/brave_news_controller_factory.h"
#include "brave/components/ai_chat/core/browser/ai_chat_service.h"
#include "brave/components/ai_chat/core/browser/utils.h"
#include "brave/components/ai_chat/core/common/features.h"
#include "brave/components/brave_news/browser/brave_news_controller.h"
Expand All @@ -19,7 +21,9 @@
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/buildflags.h"
#include "components/browsing_data/content/browsing_data_helper.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "content/public/browser/browsing_data_remover.h"

BraveBrowsingDataRemoverDelegate::BraveBrowsingDataRemoverDelegate(
content::BrowserContext* browser_context)
Expand Down Expand Up @@ -48,19 +52,31 @@ void BraveBrowsingDataRemoverDelegate::RemoveEmbedderData(
ClearShieldsSettings(delete_begin, delete_end);
}

// Brave News feed cache
if (remove_mask & chrome_browsing_data_remover::DATA_TYPE_HISTORY) {
// Brave News feed cache
if (auto* brave_news_controller =
brave_news::BraveNewsControllerFactory::GetForBrowserContext(
profile_)) {
brave_news_controller->ClearHistory();
}
// AI Chat history but only associated content, not neccessary if we
// are also deleting entire AI Chat history.
if (!(remove_mask &
chrome_browsing_data_remover::DATA_TYPE_BRAVE_LEO_HISTORY)) {
ai_chat::AIChatService* ai_chat_service =
ai_chat::AIChatServiceFactory::GetForBrowserContext(profile_);
if (ai_chat_service) {
ai_chat_service->DeleteAssociatedWebContent(delete_begin, delete_end);
}
}
}

if (remove_mask & chrome_browsing_data_remover::DATA_TYPE_BRAVE_LEO_HISTORY &&
ai_chat::IsAIChatEnabled(profile_->GetPrefs()) &&
ai_chat::features::IsAIChatHistoryEnabled()) {
ClearAiChatHistory(delete_begin, delete_end);
if (remove_mask & chrome_browsing_data_remover::DATA_TYPE_BRAVE_LEO_HISTORY) {
ai_chat::AIChatService* ai_chat_service =
ai_chat::AIChatServiceFactory::GetForBrowserContext(profile_);
if (ai_chat_service) {
ai_chat_service->DeleteConversations(delete_begin, delete_end);
}
}
}

Expand Down Expand Up @@ -92,9 +108,3 @@ void BraveBrowsingDataRemoverDelegate::ClearShieldsSettings(
}
}
}

void BraveBrowsingDataRemoverDelegate::ClearAiChatHistory(base::Time begin_time,
base::Time end_time) {
// Handler for the Brave Leo History clearing.
// It is prepared for future implementation.
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ class BraveBrowsingDataRemoverDelegate
base::OnceCallback<void(uint64_t)> callback) override;

void ClearShieldsSettings(base::Time begin_time, base::Time end_time);
void ClearAiChatHistory(base::Time begin_time, base::Time end_time);

raw_ptr<Profile> profile_ = nullptr;
base::WeakPtrFactory<BraveBrowsingDataRemoverDelegate> weak_ptr_factory_{
Expand Down
2 changes: 2 additions & 0 deletions browser/browsing_data/sources.gni
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ brave_browser_browsing_data_sources = [

brave_browser_browsing_data_deps = [
"//base",
"//brave/browser/ai_chat",
"//brave/components/ai_chat/core/browser",
"//chrome/browser:browser_process",
"//chrome/browser/browsing_data:constants",
"//chrome/browser/profiles:profile",
Expand Down
2 changes: 2 additions & 0 deletions browser/extensions/api/settings_private/brave_prefs_util.cc
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,8 @@ const PrefsUtil::TypedPrefMap& BravePrefsUtil::GetAllowlistedKeys() {
settings_api::PrefType::kBoolean;

// Leo Assistant pref
(*s_brave_allowlist)[ai_chat::prefs::kStorageEnabled] =
settings_api::PrefType::kBoolean;
(*s_brave_allowlist)[ai_chat::prefs::kBraveChatAutocompleteProviderEnabled] =
settings_api::PrefType::kBoolean;
(*s_brave_allowlist)[ai_chat::prefs::kBraveAIChatContextMenuEnabled] =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
</settings-checkbox>
<settings-checkbox id="leoResetOnExitCheckbox"
pref="{{prefs.browser.clear_data.brave_leo_on_exit}}"
label="$i18n{leoClearHistoryData}"
sub-label="$i18n{leoClearHistoryDataSubLabel}"
label="$i18n{aiChatClearHistoryData}"
sub-label="$i18n{aiChatClearHistoryDataSubLabel}"
hidden="[[!isLeoAssistantAndHistoryAllowed_]]"
no-set-pref>
</settings-checkbox>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Polymer({
},
},

isLeoAssistantAndHistoryAllowed_: {
isAIChatAssistantAndHistoryAllowed_: {
type: Boolean,
value: function() {
return loadTimeData.getBoolean('isLeoAssistantAllowed')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,15 @@
<template is="dom-if" if="[[isPremium_]]">
<cr-link-row on-click="openManageAccountPage_" external="true" class="hr" label="$i18n{braveLeoAssistantManageUrlLabel}"></cr-link-row>
</template>
<div class="settings-box " on-click="onResetAssistantData_">
<template is="dom-if" if="[[isHistoryFeatureEnabled_]]">
<settings-toggle-button class="cr-row hr"
pref="{{prefs.brave.ai_chat.storage_enabled}}"
label="$i18n{braveLeoAssistantHistoryPreferenceLabel}"
on-settings-boolean-control-change="onStorageEnabledChange_">
</settings-toggle-button>
<div class="settings-box " on-click="onResetAssistantData_">
<div class="flex cr-padded-text reset-leo">
<div>$i18n{braveLeoAssistantResetAndClearDataLabel}</div>
</div>
</div>
</div>
</template>
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,19 @@
// You can obtain one at https://mozilla.org/MPL/2.0/.

import '//resources/cr_elements/md_select.css.js'
import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {WebUiListenerMixin} from 'chrome://resources/cr_elements/web_ui_listener_mixin.js';
import {PrefsMixin} from '/shared/settings/prefs/prefs_mixin.js';
import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js';
import 'chrome://resources/brave/leo.bundle.js'
import {assert} from 'chrome://resources/js/assert.js';
import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'
import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'
import {WebUiListenerMixin} from 'chrome://resources/cr_elements/web_ui_listener_mixin.js'
import {PrefsMixin} from '/shared/settings/prefs/prefs_mixin.js'
import {SettingsToggleButtonElement} from '../controls/settings_toggle_button.js'
import {Router} from '../router.js'
import {loadTimeData} from '../i18n_setup.js'
import {routes} from '../route.js';
import {getTemplate} from './brave_leo_assistant_page.html.js'
import {BraveLeoAssistantBrowserProxy, BraveLeoAssistantBrowserProxyImpl, PremiumStatus, ModelWithSubtitle, PremiumInfo, ModelAccess, Model}
from './brave_leo_assistant_browser_proxy.js'
import 'chrome://resources/brave/leo.bundle.js'
import { Router } from '../router.js';
import {routes} from '../route.js';

const BraveLeoAssistantPageBase =
WebUiListenerMixin(I18nMixin(PrefsMixin(PolymerElement)))
Expand All @@ -33,6 +36,10 @@ class BraveLeoAssistantPageElement extends BraveLeoAssistantPageBase {

static get properties() {
return {
prefs: {
type: Object,
notify: true,
},
leoAssistantShowOnToolbarPref_: {
type: Boolean,
value: false,
Expand All @@ -51,6 +58,10 @@ class BraveLeoAssistantPageElement extends BraveLeoAssistantPageBase {
}

private isPremiumUser_: boolean

isHistoryFeatureEnabled_: boolean =
loadTimeData.getBoolean('isLeoAssistantHistoryAllowed')

leoAssistantShowOnToolbarPref_: boolean
defaultModelKeyPrefValue_: string
models_: ModelWithSubtitle[]
Expand Down Expand Up @@ -180,6 +191,18 @@ class BraveLeoAssistantPageElement extends BraveLeoAssistantPageBase {
openManageAccountPage_() {
window.open(this.manageUrl_, "_self", "noopener noreferrer")
}

private onStorageEnabledChange_(event: Event) {
const target = event.target
assert(target instanceof SettingsToggleButtonElement);
// Confirm that the user knows conversation history will be permanently
// deleted.
if (!target?.checked) {
if (!confirm(this.i18n('braveLeoAssistantHistoryPreferenceConfirm'))) {
target.checked = !target.checked
}
}
}
}

customElements.define(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ RegisterPolymerTemplateModifications({
<settings-checkbox
id="leoResetCheckbox"
pref="{{prefs.browser.clear_data.brave_leo}}"
label="[[i18n('leoClearHistoryData')]]"
sub-label="[[i18n('leoClearHistoryDataSubLabel')]]"
label="[[i18n('aiChatClearHistoryData')]]"
sub-label="[[i18n('aiChatClearHistoryDataSubLabel')]]"
disabled="[[clearingInProgress_]]"
no-set-pref>
</settings-checkbox>`)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ RegisterPolymerTemplateModifications({
// Add leo item
const leoAssistantEl = createMenuElement(
loadTimeData.getString('leoAssistant'),
'/leo-assistant',
'/leo-ai',
'product-brave-leo',
'leoAssistant',
)
Expand Down
2 changes: 1 addition & 1 deletion browser/resources/settings/brave_routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ export default function addBraveRoutes(r: Partial<SettingsRoutes>) {

if (pageVisibility.leoAssistant) {
r.BRAVE_LEO_ASSISTANT =
r.BASIC.createSection('/leo-assistant', 'leoAssistant')
r.BASIC.createSection('/leo-ai', 'leoAssistant')
}
if (pageVisibility.content) {
r.BRAVE_CONTENT = r.BASIC.createSection('/braveContent', 'content')
Expand Down
1 change: 1 addition & 0 deletions browser/resources/settings/sources.gni
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ brave_settings_ts_extra_deps =
brave_settings_mojo_files = [
"$root_gen_dir/brave/components/ai_chat/core/common/mojom/settings_helper.mojom-webui.ts",
"$root_gen_dir/brave/components/ai_chat/core/common/mojom/ai_chat.mojom-webui.ts",
"$root_gen_dir/brave/components/ai_chat/core/common/mojom/untrusted_frame.mojom-webui.ts",
]

brave_settings_mojo_files_deps =
Expand Down
4 changes: 3 additions & 1 deletion browser/ui/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ source_set("ui") {
"webui/ai_chat/ai_chat_ui.h",
"webui/ai_chat/ai_chat_ui_page_handler.cc",
"webui/ai_chat/ai_chat_ui_page_handler.h",
"webui/ai_chat/ai_chat_untrusted_conversation_ui.cc",
"webui/ai_chat/ai_chat_untrusted_conversation_ui.h",
"webui/brave_adblock_internals_ui.cc",
"webui/brave_adblock_internals_ui.h",
"webui/brave_adblock_ui.cc",
Expand Down Expand Up @@ -763,7 +765,7 @@ source_set("ui") {
"//brave/components/ai_chat/core/browser",
"//brave/components/ai_chat/core/common",
"//brave/components/ai_chat/core/common/mojom",
"//brave/components/ai_chat/resources/page:generated_resources",
"//brave/components/ai_chat/resources",
"//brave/components/ai_rewriter/common/buildflags",
"//brave/components/brave_adaptive_captcha",
"//brave/components/brave_adblock_ui:generated_resources",
Expand Down
2 changes: 1 addition & 1 deletion browser/ui/brave_pages.cc
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ void ShowFullpageChat(Browser* browser) {
if (!ai_chat::features::IsAIChatHistoryEnabled()) {
return;
}
ShowSingletonTabOverwritingNTP(browser, GURL(kChatUIURL));
ShowSingletonTabOverwritingNTP(browser, GURL(kAIChatUIURL));
}

void ShowWebcompatReporter(Browser* browser) {
Expand Down
2 changes: 1 addition & 1 deletion browser/ui/views/side_panel/brave_side_panel_utils.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ std::unique_ptr<views::View> CreateAIChatSidePanelWebView(
auto web_view = std::make_unique<SidePanelWebUIViewT<AIChatUI>>(
scope, base::RepeatingClosure(), base::RepeatingClosure(),
std::make_unique<WebUIContentsWrapperT<AIChatUI>>(
GURL(kChatUIURL), profile.get(),
GURL(base::StrCat({kChatUIURL, "tab"})), profile.get(),
IDS_SIDEBAR_CHAT_SUMMARIZER_ITEM_TITLE,
/*esc_closes_ui=*/false));
web_view->ShowUI();
Expand Down
Loading

0 comments on commit 4ab7a93

Please sign in to comment.