Repository navigation
fix(studio): a flow node's key / value map stacks each field over its value, so field names are readable - #27405
Merged
Conversation
… value Claude-Session: https://claude.ai/code/session_01JQwxbWuU6sVfBYiy4dY4PA Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JQwxbWuU6sVfBYiy4dY4PA Co-authored-by: Claude <noreply@anthropic.com>
Contributor
Author
|
domain:ui#1 · os-warren · session_01JQwxbZeBv2y91towxasSUT 席位核对ACCEPT · seat 席位意见:流程检查器里键/值映射的每一行原来把字段名、值和按钮挤在一行,300 px 宽时字段名只剩约 9 个字符("subj"、"dueD");现在每行改为上下两行:字段名和删除按钮在上,值和文本/表达式切换在下,同样宽度能显示约 24 个字符。存储内容不变。符合 #27356 第 16 行(hotcrm#2320 Studio S5)和派发单 6487063370。
Generated by Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Warren · project thread
Part of #27356
Clause-②: no
Metadata-protocol: none
维护者速读
ui/packages/app-shell/src/views/metadata-admin/inspectors/FlowKeyValueField.tsx(行渲染的flow-kv-key-line/flow-kv-value-line)。pnpm --dir ui exec vitest run packages/app-shell/src/views/metadata-admin/inspectors/FlowKeyValueField.stackedRows-27356.test.tsx,预期 2 个用例全绿。What changes
Row 16 of #27356 (hotcrm#2320, Studio report finding S5): "The Create Record node cuts field names to 4–5 characters ("subj", "dueD")."
FlowKeyValueField, the key / value map editor in the flow node inspector, draws each row on two lines instead of one:min-w-0 flex-1) and the remove button.Rows are spaced
space-y-3(wasspace-y-1.5) so one pair reads apart from the next. Nothing about what the map commits changes: the same rows, the same flush on blur, the same refusal and expression-issue lines under the value.FlowNodeConfigFieldis the editor's only caller, so every key / value map in the flow inspector stacks: Create Record and Update Record field values, the Update Record filter, HTTP headers, Assignment assignments, subflow input mapping, script inputs, screen form defaults, action parameters. That is one component's layout, not a sweep; each of those maps had the same cut-off key.Why
In the 300 px Studio inspector (
STUDIO_ASIDE_WIDTH, less the inspector shell'sp-4), the key box got the width left after the value box and two 32 px buttons.Geometry reading (Chromium, Tailwind 4.3.3 compiled from the same class strings, 267 px content width)
Key box holding
customer_satisfaction_score, computed font 14 px monospace (theInputprimitive'smd:text-smoutranks the row'stext-xsat desktop width; unchanged here):One-off probe, not committed: a static page with both row shapes built from
compile()oftailwindcss/dist/lib.mjs, measured with Playwright.Tests
ui/packages/app-shell/src/views/metadata-admin/inspectors/FlowKeyValueField.stackedRows-27356.test.tsx(2 tests, throughFlowNodeConfigField; jsdom draws no layout, so the pin is the row's structure):customer_satisfaction_score: the key's line holds no value box, exactly one input and one button (remove); the value's line is a different line, after it, and holds the expression toggle.Ablation (one: rejoin the two lines)
node scripts/ablation-replace.mjs --deleteof the anchor that closes the key line and opens the value line (anchor 1 → 0, blob9f71951b7644→d9d573fada30): both tests fail,expected true to be false. Restored: blob after restore = blob at HEAD =9f71951b7644,git diff HEADempty.Acceptance notes
subject), as before; the datalist suggestions keep showingLabel (name). Showing the label in the box would change what the box edits, which this row does not ask for.Inputprimitive'smd:text-smoutranks this editor'stext-xsat desktop width, so the key box reads at 14 px rather than 12 px. Pre-existing and unchanged; noted only.Verification
Code on head
d30f8380(fix + test + changeset); head5ebc5576adds a one-line changeset wording fix, after which the changeset families were re-run. Merge base7e200b4a. Under the shared verification lock.FlowNodeInspector,FlowNodeConfigFieldorFlowKeyValueField(65 files, the new one included): 971 / 971 passed.pnpm --filter @object-ui/app-shell run type-check(bothtscprograms): exit 0.pnpm --dir ui run check:new-line-citations: 0 new citations, exit 0.node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack: the same 34 families as row 21, all 34 exit 0;--ran: 34 run, 0 NOT-MEASURED, 0 UNRUN. Tier: no path-derived mandate; 132 changed lines.ui scripts/family first exited 1 onquick-reference-commands-4149("no row for apps/site"): an ignoredui/apps/site/node_modulesleft in this worktree from before the site retired (docs(ui-merge): fold objectui.org into objectstack docs, K4 — retire the site, host 301s, links #27329). Deleted it and re-ran: 169 files passed, 2 skipped, exit 0. Not a tree defect.5ebc5576:check-adr-0087-registration,check-changeset-no-major,check-empty-changeset,check:changeset-gate-self-tests,check:pm-changeset-deadline-census,check:nul-bytes, all exit 0.Repo-wide lint, the full ui test battery and the e2e jobs are CI's.
Generated by Claude Code