feat: implement hex format for only_blocks URL parameter #384
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.
Summary
Implements hex-based URL shortening for the only_blocks parameter to reduce URL length from ~1814 characters to approximately half size, and eliminates code duplication through refactoring.
Key Features
Implementation Details
URL Format Examples
only_blocks=motion_movesteps,looks_sayonly_blocks=01008000000000000000000000000000(much shorter for complex selections)Code Organization
Files Changed
src/lib/block-utils.js(new): Shared utility functionssrc/lib/make-toolbox-xml.js: Added hex format supportsrc/components/block-display-modal/block-display-modal.jsx: Updated URL generation, removed duplicatessrc/reducers/block-display.js: Updated importstest/unit/only-blocks-initialization.test.js: Comprehensive hex format teststest/unit/make-toolbox-xml-hex.test.js: Integration testsTest Coverage
✅ All existing functionality preserved
✅ Hex format parsing and generation
✅ Block selection/deselection logic
✅ URL generation with proper encoding
✅ Backward compatibility with legacy formats
✅ Edge cases (empty selections, all selections)
🤖 Generated with Claude Code