fix(app): news tab shows eagerly for news queries, populates async
The news tab was missing because hasNews evaluated to false when web search results hadn't arrived yet. Now shows the tab eagerly for news queries — results populate when they arrive via the deep watcher. Also fixes RSS late-insertion to place before the Prompt tab. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
f0d4ae5acc
commit
982a0c6aa6
@@ -121,8 +121,9 @@ export function useContentPanel() {
|
||||
|
||||
// News = actual articles (web search + RSS from website domains)
|
||||
const newsContext = isNewsQuery(userQuery) || isNewsLikeResponse(text)
|
||||
const hasNews = (webResults.length > 0 || mergedWebsites.length > 0) && newsContext
|
||||
const mergedNews = hasNews ? mergeNewsResults(webResults, panelRssArticles.value) : []
|
||||
// Show news tab eagerly when query is news-like — results may arrive async
|
||||
const hasNews = newsContext && (webResults.length > 0 || mergedWebsites.length > 0 || isNewsQuery(userQuery))
|
||||
const mergedNews = mergeNewsResults(webResults, panelRssArticles.value)
|
||||
|
||||
if (mergedWebsites.length > 0 && newsContext) {
|
||||
const urls = mergedWebsites.map((w) => w.url)
|
||||
@@ -132,7 +133,13 @@ export function useContentPanel() {
|
||||
const combined = mergeNewsResults(panelWebResults.value, articles)
|
||||
panelWebResults.value = combined
|
||||
if (!availableTabs.value.includes('news')) {
|
||||
availableTabs.value = ['news', ...availableTabs.value]
|
||||
// Insert before 'prompt' (which is always last)
|
||||
const promptIdx = availableTabs.value.indexOf('prompt')
|
||||
if (promptIdx >= 0) {
|
||||
availableTabs.value = [...availableTabs.value.slice(0, promptIdx), 'news', ...availableTabs.value.slice(promptIdx)]
|
||||
} else {
|
||||
availableTabs.value = ['news', ...availableTabs.value]
|
||||
}
|
||||
activeTab.value = 'news'
|
||||
}
|
||||
const ctx = extractQueryContext(panelQuery.value)
|
||||
|
||||
Reference in New Issue
Block a user