forked from open-webui/open-webui
		
	fix: new chat load
This commit is contained in:
		
							parent
							
								
									e116016543
								
							
						
					
					
						commit
						6a2c1600f5
					
				
					 5 changed files with 37 additions and 21 deletions
				
			
		|  | @ -50,10 +50,12 @@ | ||||||
| 		if (API_BASE_URL === '') { | 		if (API_BASE_URL === '') { | ||||||
| 			API_BASE_URL = BUILD_TIME_API_BASE_URL; | 			API_BASE_URL = BUILD_TIME_API_BASE_URL; | ||||||
| 		} | 		} | ||||||
| 		const res = await getModels(API_BASE_URL, 'ollama'); | 		const _models = await getModels(API_BASE_URL, 'ollama'); | ||||||
| 
 | 
 | ||||||
| 		if (res) { | 		if (_models.length > 0) { | ||||||
| 			toast.success('Server connection verified'); | 			toast.success('Server connection verified'); | ||||||
|  | 			await models.set(_models); | ||||||
|  | 
 | ||||||
| 			saveSettings({ | 			saveSettings({ | ||||||
| 				API_BASE_URL: API_BASE_URL | 				API_BASE_URL: API_BASE_URL | ||||||
| 			}); | 			}); | ||||||
|  |  | ||||||
|  | @ -1,5 +1,8 @@ | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
|  | 	import { v4 as uuidv4 } from 'uuid'; | ||||||
|  | 
 | ||||||
| 	import { goto } from '$app/navigation'; | 	import { goto } from '$app/navigation'; | ||||||
|  | 	import { chatId } from '$lib/stores'; | ||||||
| 
 | 
 | ||||||
| 	export let title: string = 'Ollama Web UI'; | 	export let title: string = 'Ollama Web UI'; | ||||||
| </script> | </script> | ||||||
|  | @ -14,8 +17,10 @@ | ||||||
| 					<div class="pr-2"> | 					<div class="pr-2"> | ||||||
| 						<button | 						<button | ||||||
| 							class=" cursor-pointer p-1 flex dark:hover:bg-gray-700 rounded-lg transition" | 							class=" cursor-pointer p-1 flex dark:hover:bg-gray-700 rounded-lg transition" | ||||||
| 							on:click={() => { | 							on:click={async () => { | ||||||
| 								location.href = '/'; | 								console.log('newChat'); | ||||||
|  | 								goto('/'); | ||||||
|  | 								await chatId.set(uuidv4()); | ||||||
| 							}} | 							}} | ||||||
| 						> | 						> | ||||||
| 							<div class=" m-auto self-center"> | 							<div class=" m-auto self-center"> | ||||||
|  |  | ||||||
|  | @ -1,4 +1,6 @@ | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
|  | 	import { v4 as uuidv4 } from 'uuid'; | ||||||
|  | 
 | ||||||
| 	import { goto, invalidateAll } from '$app/navigation'; | 	import { goto, invalidateAll } from '$app/navigation'; | ||||||
| 	import { page } from '$app/stores'; | 	import { page } from '$app/stores'; | ||||||
| 	import { user, db, chats, showSettings, chatId } from '$lib/stores'; | 	import { user, db, chats, showSettings, chatId } from '$lib/stores'; | ||||||
|  | @ -168,8 +170,10 @@ | ||||||
| 		<div class="px-2.5 flex justify-center space-x-2"> | 		<div class="px-2.5 flex justify-center space-x-2"> | ||||||
| 			<button | 			<button | ||||||
| 				class="flex-grow flex justify-between rounded-md px-3 py-1.5 my-2 hover:bg-gray-900 transition" | 				class="flex-grow flex justify-between rounded-md px-3 py-1.5 my-2 hover:bg-gray-900 transition" | ||||||
| 				on:click={() => { | 				on:click={async () => { | ||||||
| 					location.href = '/'; | 					goto('/'); | ||||||
|  | 
 | ||||||
|  | 					await chatId.set(uuidv4()); | ||||||
| 					// createNewChat(); | 					// createNewChat(); | ||||||
| 				}} | 				}} | ||||||
| 			> | 			> | ||||||
|  |  | ||||||
|  | @ -41,8 +41,11 @@ | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	onMount(async () => { | 	onMount(async () => { | ||||||
| 		console.log(); | 		await chatId.set(uuidv4()); | ||||||
| 		await initNewChat(); | 
 | ||||||
|  | 		chatId.subscribe(async () => { | ||||||
|  | 			await initNewChat(); | ||||||
|  | 		}); | ||||||
| 	}); | 	}); | ||||||
| 
 | 
 | ||||||
| 	////////////////////////// | 	////////////////////////// | ||||||
|  | @ -50,8 +53,6 @@ | ||||||
| 	////////////////////////// | 	////////////////////////// | ||||||
| 
 | 
 | ||||||
| 	const initNewChat = async () => { | 	const initNewChat = async () => { | ||||||
| 		await chatId.set(uuidv4()); |  | ||||||
| 
 |  | ||||||
| 		console.log($chatId); | 		console.log($chatId); | ||||||
| 
 | 
 | ||||||
| 		autoScroll = true; | 		autoScroll = true; | ||||||
|  |  | ||||||
|  | @ -91,6 +91,8 @@ | ||||||
| 			if (messages.length > 0) { | 			if (messages.length > 0) { | ||||||
| 				history.messages[messages.at(-1).id].done = true; | 				history.messages[messages.at(-1).id].done = true; | ||||||
| 			} | 			} | ||||||
|  | 			await tick(); | ||||||
|  | 
 | ||||||
| 			return chat; | 			return chat; | ||||||
| 		} else { | 		} else { | ||||||
| 			return null; | 			return null; | ||||||
|  | @ -503,17 +505,19 @@ | ||||||
| 	}} | 	}} | ||||||
| /> | /> | ||||||
| 
 | 
 | ||||||
| <Navbar {title} /> | {#if loaded} | ||||||
| <div class="min-h-screen w-full flex justify-center"> | 	<Navbar {title} /> | ||||||
| 	<div class=" py-2.5 flex flex-col justify-between w-full"> | 	<div class="min-h-screen w-full flex justify-center"> | ||||||
| 		<div class="max-w-2xl mx-auto w-full px-3 md:px-0 mt-10"> | 		<div class=" py-2.5 flex flex-col justify-between w-full"> | ||||||
| 			<ModelSelector bind:selectedModels disabled={messages.length > 0} /> | 			<div class="max-w-2xl mx-auto w-full px-3 md:px-0 mt-10"> | ||||||
|  | 				<ModelSelector bind:selectedModels disabled={messages.length > 0} /> | ||||||
|  | 			</div> | ||||||
|  | 
 | ||||||
|  | 			<div class=" h-full mt-10 mb-32 w-full flex flex-col"> | ||||||
|  | 				<Messages bind:history bind:messages bind:autoScroll {sendPrompt} {regenerateResponse} /> | ||||||
|  | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
| 
 | 
 | ||||||
| 		<div class=" h-full mt-10 mb-32 w-full flex flex-col"> | 		<MessageInput bind:prompt bind:autoScroll {messages} {submitPrompt} {stopResponse} /> | ||||||
| 			<Messages bind:history bind:messages bind:autoScroll {sendPrompt} {regenerateResponse} /> |  | ||||||
| 		</div> |  | ||||||
| 	</div> | 	</div> | ||||||
| 
 | {/if} | ||||||
| 	<MessageInput bind:prompt bind:autoScroll {messages} {submitPrompt} {stopResponse} /> |  | ||||||
| </div> |  | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek