When ProjectKey configures before ProjectSource, _getSourceLabels
returns empty. replaceWithCombo now always keeps the saved value in
the options list so it survives the race condition.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The key_name combo now only updates its dropdown options from the API
but never changes the user's selected value. Only the output value
refreshes on execution.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The async _refreshKeys call on every mouse click caused a race condition
where clicking the key_name dropdown would trigger a re-fetch that
overwrote the user's selection. Keys are now only refreshed on source
label change and workflow load.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ProjectKey.fetch_key now returns empty defaults instead of raising
RuntimeError on API errors. Added logging to _syncFromSource and
fetch_key to trace the seq=4001 vs seq=4 mismatch.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ProjectKey onMouseDown now triggers _syncFromSource + _refreshKeys so
clicking a relay always picks up source config changes. Added console
logs to notifyRelays and _refreshKeys for diagnosing sync issues.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Combo widgets show "undefined" when values list is empty. Now ensures
at least one entry (empty string placeholder) and picks a valid default.
Also populates source labels immediately on node creation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- INT widgets (sequence_number) now properly hidden using origType +
hidden flag pattern from fast_saver.js
- source_label and key_name are now replaced with real combo widgets
via addWidget("combo") instead of just setting type="combo" on
STRING widgets, which didn't produce working dropdowns
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>