fix(form): handle periods in array item keys when parsing paths#12110
fix(form): handle periods in array item keys when parsing paths#12110EoinFalconer wants to merge 1 commit intomainfrom
Conversation
When using deterministic keys with periods (e.g., 'object.key' or 'v1.0.0'), the Enhanced Object Dialog would instantly close because the path parser incorrectly split on periods inside quoted strings. The fix replaces the simple regex-based split with a proper tokenizer that tracks quote state, ensuring periods inside quoted key values are preserved. Fixes SAPP-3481
|
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
🧪 E2E Preview environment🔑 Environment Variables for Local TestingThis is the preview URL for the E2E tests: https://e2e-studio-9lvj3ifgk.sanity.dev To run the E2E tests locally, you can use the following environment variables, then run 💬 Remember to build the project first with |
📊 Playwright Test ReportThis report contains test results, including videos of failing tests. |
📚 TypeDoc Generation Result✅ TypeDoc generated successfully!
The TypeDoc JSON file has been generated and validated. All documentation scripts completed successfully. |
⚡️ Editor Performance ReportUpdated Sat, 07 Feb 2026 13:07:47 GMT
Detailed information🏠 Reference resultThe performance result of
🧪 Experiment resultThe performance result of this branch
📚 Glossary
|
Coverage Report
File Coverage
|
||||||||||||||||||||||||||||||||||||||
Description
Fixes an issue where the Enhanced Object Dialog would instantly close when clicking on array items that have deterministic keys containing periods (e.g.,
object.keyorv1.0.0).Root Cause
The
parseGradientPathfunction inpath.tsused a simple regex split on[,., and]characters:This incorrectly splits periods that appear inside quoted key values. For example:
array[_key=="object.key"]['array', '_key=="object', 'key"']❌['array', {_key: 'object.key'}]✅Solution
Replaced the regex-based split with a proper tokenizer that:
.when outside of brackets and quotesTesting
Added comprehensive test coverage for
path.tsincluding:Checklist
Fixes SAPP-3481