Rename device frames to remove ASCII double-quote from filenames#27
Merged
bitomule merged 1 commit intoMay 6, 2026
Merged
Conversation
The 18 frame PNGs whose basenames contained an ASCII double-quote
(") -- iPad Air 11"/13" M2 in all four colors, iMac 24" Silver,
and MacBook Air 13" 4th Gen Midnight -- cannot be materialized on
Windows because the OS reserves <>:"|?* and rejects any path
containing them. Two user-visible failure paths result:
- `git clone` aborts mid-checkout with `error: invalid path
'src/koubou/frames/MacBook Air 13" - 4th Gen - Midnight.png'`
and leaves the working tree empty.
- `kou setup-frames` (and the implicit download triggered by
`kou generate`) fails partway through `tarfile.extract` with
`[Errno 22] Invalid argument`, after which the cleanup path
in `frame_manager.download_frames` wipes the partial cache.
Drop the double-quote entirely so the names match the bare-number
convention already used elsewhere in the directory (`iPad Pro 11 -
M4 - ...`, `iPad Pro 13 - M4 - ...`, `MacBook Pro 2021 14`). No
content changes -- the blob bytes are identical, only the path
differs.
Also updates README.md, CHANGELOG.md, and
skills/koubou/yaml-reference.md where the same device names
appeared in user-facing reference text.
Note: users with an existing YAML referencing the old name
(e.g. `device: iPad Air 13" - M2 - Space Gray - Portrait`) will
need to drop the `"` from their config. A back-compat alias map
in `_load_frame_image` / `_get_frame_info` can be added in a
follow-up if the maintainer wants to avoid the breaking change.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
bitomule
approved these changes
May 6, 2026
Owner
bitomule
left a comment
There was a problem hiding this comment.
Thank you!! I'll merge it and update the changelog to reflect the breaking change.
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.
There are 18 frame PNGs whose basenames contained an ASCII double-quote ("):
iPad Air 11"/13" M2 in all four colors, iMac 24" Silver, and MacBook Air 13" 4th Gen Midnight
These cannot be materialized on Windows because the OS reserves <>:"|?* and rejects any path containing them. Two user-visible failure paths result:
git cloneaborts mid-checkout witherror: invalid path 'src/koubou/frames/MacBook Air 13" - 4th Gen - Midnight.png'and leaves the working tree empty.kou setup-frames(and the implicit download triggered bykou generate) fails partway throughtarfile.extractwith[Errno 22] Invalid argument, after which the cleanup path inframe_manager.download_frameswipes the partial cache.FIX:
Drop the double-quote entirely so the names match the bare-number convention already used elsewhere in the directory (
iPad Pro 11 - M4 - ...,iPad Pro 13 - M4 - ...,MacBook Pro 2021 14). No content changes -- the blob bytes are identical, only the path differs.Also updates README.md, CHANGELOG.md, and
skills/koubou/yaml-reference.md where the same device names appeared in user-facing reference text.
Note: users with an existing YAML referencing the old name (e.g.
device: iPad Air 13" - M2 - Space Gray - Portrait) will need to drop the"from their config. A back-compat alias map in_load_frame_image/_get_frame_infocan be added in a follow-up if the maintainer wants to avoid the breaking change.