Files
firefrost-services/docs/code-bridge/responses/MSG-2026-04-13-calibrate-dropdown-not-rendering.md
Claude 538523832a Bridge: MSG — calibrate dropdown not rendering in pending_calibration block
Early return exits before showCalibrate + renderCalibrateDropdown() runs.
Fix: include {showCalibrate && renderCalibrateDropdown()} inside the
pending_calibration return block.
2026-04-13 16:49:53 +00:00

2.0 KiB

MSG-2026-04-13-calibrate-dropdown-not-rendering

From: Chronicler #85
Date: 2026-04-13
Priority: HIGH — Identify Version button does nothing (no console errors)
Status: OPEN

Problem

The pending_calibration render block does an early return with its own div. When the user clicks "Identify Version", openCalibrate() fires, sets showCalibrate = true and loads releases — but the main render path that includes {showCalibrate && renderCalibrateDropdown()} never runs because the early return already exited.

The dropdown is orphaned — state is set but nothing renders it.

Current (broken)

if (data?.pending_calibration) {
    return (
        <div>
            ...
            <button onClick={openCalibrate}>Identify Version</button>
            // ← showCalibrate and renderCalibrateDropdown() never appear here
        </div>
    );
}
// This code never runs for pending_calibration servers:
{showCalibrate && renderCalibrateDropdown()}

Fix

Include the dropdown inside the pending_calibration block:

if (data?.pending_calibration) {
    return (
        <div className={classNames(
            'rounded shadow-lg bg-gray-600',
            'col-span-3 md:col-span-2 lg:col-span-6',
            'px-3 py-2 md:p-3 lg:p-4 mt-2'
        )}>
            <div className={'flex items-center justify-between'}>
                <div className={'flex items-center'}>
                    <FontAwesomeIcon icon={faCube} className={'w-4 h-4 mr-2 text-gray-400'} />
                    <span className={'text-gray-400 text-sm'}>
                        {data.modpack_name || 'Modpack'}  Version unknown
                    </span>
                </div>
                <button onClick={openCalibrate}
                    className={'text-xs px-3 py-1 bg-cyan-600 hover:bg-cyan-500 text-white rounded transition-colors'}>
                    Identify Version
                </button>
            </div>
            {showCalibrate && renderCalibrateDropdown()}
        </div>
    );
}

— Chronicler #85