From 7bbd0cb036ba769a6eea01c53f8eb2a4267850cc Mon Sep 17 00:00:00 2001 From: David Dworken Date: Sun, 25 Aug 2024 15:31:11 -0700 Subject: [PATCH] Allow usage of OpenAI integration in offline mode for #220 Offline mode is more about disabling syncing, so it is reasonable to still allow AI completions if the user has explicitly turned it on. --- client/cmd/install.go | 4 ++++ client/tui/tui.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/client/cmd/install.go b/client/cmd/install.go index 4503674..762a8d4 100644 --- a/client/cmd/install.go +++ b/client/cmd/install.go @@ -602,6 +602,10 @@ func setup(userSecret string, isOffline bool) error { config.HighlightMatches = true config.AiCompletion = true config.IsOffline = isOffline + if isOffline { + // By default, offline mode disables AI completion. Users can still enable it if they want it. See #220. + config.AiCompletion = false + } config.EnablePresaving = true err := hctx.SetConfig(&config) if err != nil { diff --git a/client/tui/tui.go b/client/tui/tui.go index 11f5d97..8e85547 100644 --- a/client/tui/tui.go +++ b/client/tui/tui.go @@ -499,7 +499,7 @@ func getRowsFromAiSuggestions(ctx context.Context, columnNames []string, shellNa func getRows(ctx context.Context, columnNames []string, shellName, defaultFilter, query string, numEntries int) ([]table.Row, []*data.HistoryEntry, error) { db := hctx.GetDb(ctx) config := hctx.GetConf(ctx) - if config.AiCompletion && !config.IsOffline && strings.HasPrefix(query, "?") && len(query) > 1 { + if config.AiCompletion && strings.HasPrefix(query, "?") && len(query) > 1 { return getRowsFromAiSuggestions(ctx, columnNames, shellName, query) } searchResults, err := lib.Search(ctx, db, defaultFilter+" "+query, numEntries)