Turn off debug logging of MaxSizedBox errors by default. (#1228)

This commit is contained in:
Jacob Richman 2025-06-20 05:27:03 +00:00 committed by GitHub
parent b179424161
commit 05b1c8101f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 15 additions and 2 deletions

View File

@ -28,6 +28,7 @@ import {
AuthType,
} from '@gemini-cli/core';
import { validateAuthMethod } from './config/auth.js';
import { setMaxSizedBoxDebugging } from './ui/components/shared/MaxSizedBox.js';
export async function main() {
const workspaceRoot = process.cwd();
@ -49,6 +50,8 @@ export async function main() {
const extensions = loadExtensions(workspaceRoot);
const config = await loadCliConfig(settings.merged, extensions, sessionId);
setMaxSizedBoxDebugging(config.getDebugMode());
// Initialize centralized FileDiscoveryService
config.getFileService();
if (config.getCheckpointingEnabled()) {

View File

@ -5,11 +5,17 @@
*/
import { render } from 'ink-testing-library';
import { MaxSizedBox } from './MaxSizedBox.js';
import { MaxSizedBox, setMaxSizedBoxDebugging } from './MaxSizedBox.js';
import { Box, Text } from 'ink';
import { describe, it, expect } from 'vitest';
describe('<MaxSizedBox />', () => {
// Make sure MaxSizedBox logs errors on invalid configurations.
// This is useful for debugging issues with the component.
// It should be set to false in production for perfornance and to avoid
// cluttering the console if there are ignoreable issues.
setMaxSizedBoxDebugging(true);
it('renders children without truncation when they fit', () => {
const { lastFrame } = render(
<MaxSizedBox maxWidth={80} maxHeight={10}>

View File

@ -10,7 +10,11 @@ import stringWidth from 'string-width';
import { Colors } from '../../colors.js';
import { toCodePoints } from '../../utils/textUtils.js';
const enableDebugLog = true;
let enableDebugLog = false;
export function setMaxSizedBoxDebugging(value: boolean) {
enableDebugLog = value;
}
function debugReportError(message: string, element: React.ReactNode) {
if (!enableDebugLog) return;