Make merged settings non-nullable and fix all lints related to that. (#16647)

This commit is contained in:
Jacob Richman
2026-01-15 09:26:10 -08:00
committed by GitHub
parent 2b6bfe4097
commit f7f38e2b9e
59 changed files with 964 additions and 744 deletions

View File

@@ -8,7 +8,7 @@ import { useSettings } from '../contexts/SettingsContext.js';
import type { LoadedSettings } from '../../config/settings.js';
export const isAlternateBufferEnabled = (settings: LoadedSettings): boolean =>
settings.merged.ui?.useAlternateBuffer === true;
settings.merged.ui.useAlternateBuffer === true;
export const useAlternateBuffer = (): boolean => {
const settings = useSettings();

View File

@@ -27,7 +27,7 @@ export const useFolderTrust = (
const [isRestarting, setIsRestarting] = useState(false);
const startupMessageSent = useRef(false);
const folderTrust = settings.merged.security?.folderTrust?.enabled;
const folderTrust = settings.merged.security.folderTrust.enabled;
useEffect(() => {
const { isTrusted: trusted } = isWorkspaceTrusted(settings.merged);

View File

@@ -83,7 +83,7 @@ enum StreamProcessingStatus {
}
function showCitations(settings: LoadedSettings): boolean {
const enabled = settings?.merged?.ui?.showCitations;
const enabled = settings.merged.ui.showCitations;
if (enabled !== undefined) {
return enabled;
}
@@ -782,7 +782,7 @@ export const useGeminiStream = (
const handleChatModelEvent = useCallback(
(eventValue: string, userMessageTimestamp: number) => {
if (!settings?.merged?.ui?.showModelInfoInChat) {
if (!settings.merged.ui.showModelInfoInChat) {
return;
}
if (pendingHistoryItemRef.current) {

View File

@@ -85,7 +85,7 @@ export const usePermissionsModifyTrust = (
);
const [needsRestart, setNeedsRestart] = useState(false);
const isFolderTrustEnabled = !!settings.merged.security?.folderTrust?.enabled;
const isFolderTrustEnabled = !!settings.merged.security.folderTrust.enabled;
const updateTrustLevel = useCallback(
(trustLevel: TrustLevel) => {

View File

@@ -32,7 +32,7 @@ export function createShowMemoryAction(
const currentMemory = config.getUserMemory();
const fileCount = config.getGeminiMdFileCount();
const contextFileName = settings.merged.context?.fileName;
const contextFileName = settings.merged.context.fileName;
const contextFileNames = Array.isArray(contextFileName)
? contextFileName
: [contextFileName];

View File

@@ -67,7 +67,7 @@ export const useThemeCommand = (
const closeThemeDialog = useCallback(() => {
// Re-apply the saved theme to revert any preview changes from highlighting
applyTheme(loadedSettings.merged.ui?.theme);
applyTheme(loadedSettings.merged.ui.theme);
setIsThemeDialogOpen(false);
}, [applyTheme, loadedSettings]);
@@ -88,10 +88,10 @@ export const useThemeCommand = (
return;
}
loadedSettings.setValue(scope, 'ui.theme', themeName); // Update the merged settings
if (loadedSettings.merged.ui?.customThemes) {
themeManager.loadCustomThemes(loadedSettings.merged.ui?.customThemes);
if (loadedSettings.merged.ui.customThemes) {
themeManager.loadCustomThemes(loadedSettings.merged.ui.customThemes);
}
applyTheme(loadedSettings.merged.ui?.theme); // Apply the current theme
applyTheme(loadedSettings.merged.ui.theme); // Apply the current theme
setThemeError(null);
} finally {
setIsThemeDialogOpen(false); // Close the dialog