forked from open-webui/open-webui
		
	fix: message type edge case
This commit is contained in:
		
							parent
							
								
									9f58ed5afa
								
							
						
					
					
						commit
						d936353da0
					
				
					 3 changed files with 73 additions and 24 deletions
				
			
		|  | @ -295,15 +295,25 @@ | |||
| 			...messages | ||||
| 		] | ||||
| 			.filter((message) => message) | ||||
| 			.map((message, idx, arr) => ({ | ||||
| 				role: message.role, | ||||
| 				content: arr.length - 2 !== idx ? message.content : message?.raContent ?? message.content, | ||||
| 				...(message.files && { | ||||
| 					images: message.files | ||||
| 						.filter((file) => file.type === 'image') | ||||
| 						.map((file) => file.url.slice(file.url.indexOf(',') + 1)) | ||||
| 				}) | ||||
| 			})); | ||||
| 			.map((message, idx, arr) => { | ||||
| 				// Prepare the base message object | ||||
| 				const baseMessage = { | ||||
| 					role: message.role, | ||||
| 					content: arr.length - 2 !== idx ? message.content : message?.raContent ?? message.content | ||||
| 				}; | ||||
| 
 | ||||
| 				// Extract and format image URLs if any exist | ||||
| 				const imageUrls = message.files | ||||
| 					?.filter((file) => file.type === 'image') | ||||
| 					.map((file) => file.url.slice(file.url.indexOf(',') + 1)); | ||||
| 
 | ||||
| 				// Add images array only if it contains elements | ||||
| 				if (imageUrls && imageUrls.length > 0) { | ||||
| 					baseMessage.images = imageUrls; | ||||
| 				} | ||||
| 
 | ||||
| 				return baseMessage; | ||||
| 			}); | ||||
| 
 | ||||
| 		let lastImageIndex = -1; | ||||
| 
 | ||||
|  |  | |||
|  | @ -308,15 +308,25 @@ | |||
| 			...messages | ||||
| 		] | ||||
| 			.filter((message) => message) | ||||
| 			.map((message, idx, arr) => ({ | ||||
| 				role: message.role, | ||||
| 				content: arr.length - 2 !== idx ? message.content : message?.raContent ?? message.content, | ||||
| 				...(message.files && { | ||||
| 					images: message.files | ||||
| 						.filter((file) => file.type === 'image') | ||||
| 						.map((file) => file.url.slice(file.url.indexOf(',') + 1)) | ||||
| 				}) | ||||
| 			})); | ||||
| 			.map((message, idx, arr) => { | ||||
| 				// Prepare the base message object | ||||
| 				const baseMessage = { | ||||
| 					role: message.role, | ||||
| 					content: arr.length - 2 !== idx ? message.content : message?.raContent ?? message.content | ||||
| 				}; | ||||
| 
 | ||||
| 				// Extract and format image URLs if any exist | ||||
| 				const imageUrls = message.files | ||||
| 					?.filter((file) => file.type === 'image') | ||||
| 					.map((file) => file.url.slice(file.url.indexOf(',') + 1)); | ||||
| 
 | ||||
| 				// Add images array only if it contains elements | ||||
| 				if (imageUrls && imageUrls.length > 0) { | ||||
| 					baseMessage.images = imageUrls; | ||||
| 				} | ||||
| 
 | ||||
| 				return baseMessage; | ||||
| 			}); | ||||
| 
 | ||||
| 		let lastImageIndex = -1; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek