You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 73b0ad8
Browse filesBrowse the repository at this point in the historyBrowse files
fix(studio): closing the field inspector keeps the CEL hold on the draft (#27485)
The inspector's CEL verdict was stamped with the selection, so closing it
(Close, Escape, another field, another tab) released the hold and the
autosave sent the broken expression. Each field's last verdict is now kept
with a stamp of the CEL text it judged and holds while the draft carries
that text; the held line names the field with a Show me that reopens it.
Reverses the mechanism of objectui#4306 sub-decision A (reset on close)
while keeping its invariants; separable on purpose.
Claude-Session: https://claude.ai/code/session_01Utp6CbCrKUjGeTReNEmUJx
Co-authored-by: Claude <noreply@anthropic.com>
fix(studio): a formula that does not parse keeps the field's stored result type, and a switch to another object asks before it drops the held edit (#27485)
6
+
fix(studio): closing the field inspector keeps a formula that does not parse unsaved, with the field's stored result type, and a switch to another object asks before it drops it (#27485)
6
7
7
8
Clause-②: no
8
9
Metadata-protocol: none
9
10
11
+
- The Data pillar holds a field's draft while its CEL formula or condition does not parse. That hold used to end the moment the field inspector closed (Escape, Close, another field card, another tab), and the autosave then sent the broken expression as the object's draft, which publish refuses. The hold now belongs to the draft: it lasts while the draft still carries the text the inspector judged, and ends when that text is edited, the field is removed or the object reloads. While it lasts, the pillar shows the held line ("Not saved yet: an expression on the field “F Total” has an error to fix…") with a **Show me** that reopens the field, and the Studio's Publish names it.
10
12
- Typing a formula that does not parse (`record.est_hours > (`) cleared the field's stored `returnType`, because a broken source proves no type. The stored type now stays while the formula has a lint error; a formula that parses stamps its proven type, or clears it when none is proven, as before.
11
13
- With such an edit held, switching to another object in the Data pillar's rail dropped it silently. The switch now asks first; declining keeps the object and the edit.
0 commit comments