mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-25 02:47:02 -06:00
A hyperlink longer than 200 characters came back as a different 200-character URL -- one that still looks like a working link -- and the import reported nothing. It applied to a text layer's base style and to a character style override alike. The destination went through `clip_str`, which exists so that names and labels from a file stay readable when they are quoted in a warning. Every other caller is a name, a description, a style id or a layer type; a hyperlink is data, and clipping it silently rewrote it. Two things say so: the FIG importer already keeps the URL whole, so the two importers disagreed, and `rest::props` bounds numbers and list lengths but no string beyond that label helper -- the text content itself is not clipped either. The reporter's integration test is included, with its assertions unchanged. Its helper is restructured to return what it found rather than unwrap: the crate denies `unwrap_used` and `panic`, and `clippy.toml` allows them only inside a `#[test]` function, so the original shape failed the gate before it ran. Its failure message now reports the input and output lengths.