Turn off debug logging of MaxSizedBox errors by default. (#1228)
This commit is contained in:
parent
b179424161
commit
05b1c8101f
|
@ -28,6 +28,7 @@ import {
|
||||||
AuthType,
|
AuthType,
|
||||||
} from '@gemini-cli/core';
|
} from '@gemini-cli/core';
|
||||||
import { validateAuthMethod } from './config/auth.js';
|
import { validateAuthMethod } from './config/auth.js';
|
||||||
|
import { setMaxSizedBoxDebugging } from './ui/components/shared/MaxSizedBox.js';
|
||||||
|
|
||||||
export async function main() {
|
export async function main() {
|
||||||
const workspaceRoot = process.cwd();
|
const workspaceRoot = process.cwd();
|
||||||
|
@ -49,6 +50,8 @@ export async function main() {
|
||||||
const extensions = loadExtensions(workspaceRoot);
|
const extensions = loadExtensions(workspaceRoot);
|
||||||
const config = await loadCliConfig(settings.merged, extensions, sessionId);
|
const config = await loadCliConfig(settings.merged, extensions, sessionId);
|
||||||
|
|
||||||
|
setMaxSizedBoxDebugging(config.getDebugMode());
|
||||||
|
|
||||||
// Initialize centralized FileDiscoveryService
|
// Initialize centralized FileDiscoveryService
|
||||||
config.getFileService();
|
config.getFileService();
|
||||||
if (config.getCheckpointingEnabled()) {
|
if (config.getCheckpointingEnabled()) {
|
||||||
|
|
|
@ -5,11 +5,17 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { render } from 'ink-testing-library';
|
import { render } from 'ink-testing-library';
|
||||||
import { MaxSizedBox } from './MaxSizedBox.js';
|
import { MaxSizedBox, setMaxSizedBoxDebugging } from './MaxSizedBox.js';
|
||||||
import { Box, Text } from 'ink';
|
import { Box, Text } from 'ink';
|
||||||
import { describe, it, expect } from 'vitest';
|
import { describe, it, expect } from 'vitest';
|
||||||
|
|
||||||
describe('<MaxSizedBox />', () => {
|
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', () => {
|
it('renders children without truncation when they fit', () => {
|
||||||
const { lastFrame } = render(
|
const { lastFrame } = render(
|
||||||
<MaxSizedBox maxWidth={80} maxHeight={10}>
|
<MaxSizedBox maxWidth={80} maxHeight={10}>
|
||||||
|
|
|
@ -10,7 +10,11 @@ import stringWidth from 'string-width';
|
||||||
import { Colors } from '../../colors.js';
|
import { Colors } from '../../colors.js';
|
||||||
import { toCodePoints } from '../../utils/textUtils.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) {
|
function debugReportError(message: string, element: React.ReactNode) {
|
||||||
if (!enableDebugLog) return;
|
if (!enableDebugLog) return;
|
||||||
|
|
Loading…
Reference in New Issue