Merge pull request #105 from rajrasane/fix/third-party-provider-compatibility
fix: Improve session title handling and Docker compatibility
This commit is contained in:
@@ -289,7 +289,7 @@ function checkOllamaProcessorMode(): CheckResult {
|
||||
|
||||
if (result.status !== 0) {
|
||||
const detail = (result.stderr || result.stdout || 'Unable to run ollama ps').trim()
|
||||
return fail('Ollama processor mode', detail)
|
||||
return pass('Ollama processor mode', `Native CLI check failed (${detail}). Assuming valid Docker/remote backend since HTTP ping passed.`)
|
||||
}
|
||||
|
||||
const output = (result.stdout || '').trim()
|
||||
|
||||
@@ -1127,7 +1127,7 @@ export function REPL({
|
||||
// session from mid-conversation context.
|
||||
const haikuTitleAttemptedRef = useRef((initialMessages?.length ?? 0) > 0);
|
||||
const agentTitle = mainThreadAgentDefinition?.agentType;
|
||||
const terminalTitle = sessionTitle ?? agentTitle ?? haikuTitle ?? 'Claude Code';
|
||||
const terminalTitle = sessionTitle ?? agentTitle ?? haikuTitle ?? 'Open Claude';
|
||||
const isWaitingForApproval = toolUseConfirmQueue.length > 0 || promptQueue.length > 0 || pendingWorkerRequest || pendingSandboxRequest;
|
||||
// Local-jsx commands (like /plugin, /config) show user-facing dialogs that
|
||||
// wait for input. Require jsx != null — if the flag is stuck true but jsx
|
||||
@@ -2676,7 +2676,7 @@ export function REPL({
|
||||
// useDeferredHookMessages) and attachment messages (appended by
|
||||
// processTextPrompt) — both pushed length past 1 on turn one, so the
|
||||
// title silently fell through to the "Claude Code" default.
|
||||
if (getAPIProvider() === 'firstParty' && !titleDisabled && !sessionTitle && !agentTitle && !haikuTitleAttemptedRef.current) {
|
||||
if (!titleDisabled && !sessionTitle && !agentTitle && !haikuTitleAttemptedRef.current) {
|
||||
const firstUserMessage = newMessages.find(m => m.type === 'user' && !m.isMeta);
|
||||
const text = firstUserMessage?.type === 'user' ? getContentText(firstUserMessage.message.content) : null;
|
||||
// Skip synthetic breadcrumbs — slash-command output, prompt-skill
|
||||
|
||||
@@ -985,7 +985,7 @@ export const connectToServer = memoize(
|
||||
const client = new Client(
|
||||
{
|
||||
name: 'claude-code',
|
||||
title: 'Claude Code',
|
||||
title: 'Open Claude',
|
||||
version: MACRO.VERSION ?? 'unknown',
|
||||
description: "Anthropic's agentic coding tool",
|
||||
websiteUrl: PRODUCT_URL,
|
||||
@@ -3280,7 +3280,7 @@ export async function setupSdkMcpClients(
|
||||
const client = new Client(
|
||||
{
|
||||
name: 'claude-code',
|
||||
title: 'Claude Code',
|
||||
title: 'Open Claude',
|
||||
version: MACRO.VERSION ?? 'unknown',
|
||||
description: "Anthropic's agentic coding tool",
|
||||
websiteUrl: PRODUCT_URL,
|
||||
|
||||
@@ -35,7 +35,7 @@ export async function sendNotification(
|
||||
})
|
||||
}
|
||||
|
||||
const DEFAULT_TITLE = 'Claude Code'
|
||||
const DEFAULT_TITLE = 'Open Claude'
|
||||
|
||||
async function sendToChannel(
|
||||
channel: string,
|
||||
|
||||
@@ -124,6 +124,10 @@ export async function generateSessionTitle(
|
||||
level: 'error',
|
||||
})
|
||||
logEvent('tengu_session_title_generated', { success: false })
|
||||
return null
|
||||
|
||||
// Fallback: When using 3P providers without a compatible schema,
|
||||
// default to the application name.
|
||||
return 'Open Claude'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user