Merge pull request #1284 from wsolarq11/fix/messages-boundary-null-error

fix: prevent null reference reading 'error' in MessagesBoundary
This commit is contained in:
claude-code-best
2026-06-25 17:18:00 +08:00
committed by GitHub
2 changed files with 6 additions and 2 deletions

View File

@@ -753,6 +753,7 @@ export function normalizeMessages(messages: Message[]): NormalizedMessage[] {
// and remains true for all subsequent messages in the normalization process.
let isNewChain = false
return messages.flatMap(message => {
if (!message) return []
switch (message.type) {
case 'assistant': {
const aMsg = message as AssistantMessage
@@ -776,7 +777,7 @@ export function normalizeMessages(messages: Message[]): NormalizedMessage[] {
isVirtual: message.isVirtual,
requestId: message.requestId,
uuid,
error: message.error,
error: message?.error,
isApiErrorMessage: message.isApiErrorMessage,
advisorModel: message.advisorModel,
} as NormalizedAssistantMessage
@@ -2376,6 +2377,7 @@ export function normalizeMessagesForAPI(
},
)
.forEach(message => {
if (!message) return []
switch (message.type) {
case 'system': {
// local_command system messages need to be included as user messages

View File

@@ -29,6 +29,7 @@ export function toInternalMessages(
messages: readonly DeepImmutable<SDKMessage>[],
): Message[] {
return messages.flatMap(message => {
if (!message) return []
switch (message.type) {
case 'assistant':
return [
@@ -127,6 +128,7 @@ export function fromSDKCompactMetadata(
export function toSDKMessages(messages: Message[]): SDKMessage[] {
return messages.flatMap((message): SDKMessage[] => {
if (!message) return []
switch (message.type) {
case 'assistant':
return [
@@ -138,7 +140,7 @@ export function toSDKMessages(messages: Message[]): SDKMessage[] {
session_id: getSessionId(),
parent_tool_use_id: null,
uuid: message.uuid,
error: message.error,
error: message?.error,
},
]
case 'user':