mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 11:39:01 +01:00 
			
		
		
		
	appropriately show if there are any notes still in the queue
This commit is contained in:
		
							parent
							
								
									34940b5258
								
							
						
					
					
						commit
						3d70a6c42e
					
				| @ -530,8 +530,23 @@ export default class LlmChatPanel extends BasicWidget { | ||||
|             const defaultIsEnabled = enabledProviders.includes(defaultProvider); | ||||
|             const allPrecedenceEnabled = precedenceList.every((p: string) => enabledProviders.includes(p)); | ||||
| 
 | ||||
|             // Get embedding queue status
 | ||||
|             const embeddingStats = await server.get('embeddings/stats') as { | ||||
|                 success: boolean, | ||||
|                 stats: { | ||||
|                     totalNotesCount: number; | ||||
|                     embeddedNotesCount: number; | ||||
|                     queuedNotesCount: number; | ||||
|                     failedNotesCount: number; | ||||
|                     lastProcessedDate: string | null; | ||||
|                     percentComplete: number; | ||||
|                 } | ||||
|             }; | ||||
|             const queuedNotes = embeddingStats?.stats?.queuedNotesCount || 0; | ||||
|             const hasEmbeddingsInQueue = queuedNotes > 0; | ||||
| 
 | ||||
|             // Show warning if there are issues
 | ||||
|             if (!defaultInPrecedence || !defaultIsEnabled || !allPrecedenceEnabled) { | ||||
|             if (!defaultInPrecedence || !defaultIsEnabled || !allPrecedenceEnabled || hasEmbeddingsInQueue) { | ||||
|                 let message = '<i class="bx bx-error-circle me-2"></i><strong>AI Provider Configuration Issues</strong>'; | ||||
| 
 | ||||
|                 message += '<ul class="mb-1 ps-4">'; | ||||
| @ -549,6 +564,10 @@ export default class LlmChatPanel extends BasicWidget { | ||||
|                     message += `<li>The following providers in your precedence list are not enabled: ${disabledProviders.join(', ')}.</li>`; | ||||
|                 } | ||||
| 
 | ||||
|                 if (hasEmbeddingsInQueue) { | ||||
|                     message += `<li>Currently processing embeddings for ${queuedNotes} notes. Some AI features may produce incomplete results until processing completes.</li>`; | ||||
|                 } | ||||
| 
 | ||||
|                 message += '</ul>'; | ||||
|                 message += '<div class="mt-2"><a href="javascript:" class="settings-link btn btn-sm btn-outline-secondary"><i class="bx bx-cog me-1"></i>Open AI Settings</a></div>'; | ||||
| 
 | ||||
|  | ||||
| @ -1366,6 +1366,9 @@ export default class AiSettingsWidget extends OptionsWidget { | ||||
|                 if (!silent) { | ||||
|                     await this.refreshIndexRebuildStatus(silent); | ||||
|                 } | ||||
| 
 | ||||
|                 // Update validation warnings as embeddings status may have changed
 | ||||
|                 await this.displayValidationWarnings(); | ||||
|             } | ||||
|         } catch (error) { | ||||
|             console.error("Error fetching embedding stats:", error); | ||||
| @ -1599,6 +1602,8 @@ export default class AiSettingsWidget extends OptionsWidget { | ||||
|         if (!this.$widget) return; | ||||
| 
 | ||||
|         const $warningDiv = this.$widget.find('.provider-validation-warning'); | ||||
|         let hasWarnings = false; | ||||
|         let message = 'There are issues with your AI provider configuration:'; | ||||
| 
 | ||||
|         try { | ||||
|             // Get required data from current settings
 | ||||
| @ -1658,9 +1663,9 @@ export default class AiSettingsWidget extends OptionsWidget { | ||||
|             const defaultIsEnabled = enabledProviders.includes(defaultProvider); | ||||
|             const allPrecedenceEnabled = precedenceList.every(p => enabledProviders.includes(p)); | ||||
| 
 | ||||
|             // Build warning message if there are issues
 | ||||
|             // Check for provider configuration issues
 | ||||
|             if (!defaultInPrecedence || !defaultIsEnabled || !allPrecedenceEnabled) { | ||||
|                 let message = 'There are issues with your AI provider configuration:'; | ||||
|                 hasWarnings = true; | ||||
| 
 | ||||
|                 if (!defaultInPrecedence) { | ||||
|                     message += `<br>• The default embedding provider "${defaultProvider}" is not in your provider precedence list.`; | ||||
| @ -1674,9 +1679,19 @@ export default class AiSettingsWidget extends OptionsWidget { | ||||
|                     const disabledProviders = precedenceList.filter(p => !enabledProviders.includes(p)); | ||||
|                     message += `<br>• The following providers in your precedence list are not enabled: ${disabledProviders.join(', ')}.`; | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             // Check if embeddings are still being processed
 | ||||
|             const queuedNotes = parseInt(this.$widget.find('.embedding-queued-notes').text(), 10); | ||||
|             if (!isNaN(queuedNotes) && queuedNotes > 0) { | ||||
|                 hasWarnings = true; | ||||
|                 message += `<br>• There are currently ${queuedNotes} notes in the embedding processing queue.`; | ||||
|                 message += ` Some AI features may produce incomplete results until processing completes.`; | ||||
|             } | ||||
| 
 | ||||
|             // Show warning message if there are any issues
 | ||||
|             if (hasWarnings) { | ||||
|                 message += '<br><br>Please check your AI settings.'; | ||||
| 
 | ||||
|                 $warningDiv.html(message); | ||||
|                 $warningDiv.show(); | ||||
|             } else { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 perf3ct
						perf3ct