mirror of
https://github.com/penpot/penpot.git
synced 2026-06-09 17:02:05 +00:00
`cls/show-in-viewer` unconditionally dissoc'ed `:hide-in-viewer` on the interaction destination, so every `add-interaction`, `add-new-interaction`, and `update-interaction` call silently re-enabled the destination's view-mode visibility — even when the user had just deliberately hidden that frame. Reporter (#9049) hid a board, dragged a prototype arrow at it, and watched the board reappear in View Mode. Make `show-in-viewer` a no-op when the destination already has `:hide-in-viewer true`. The auto-unhide still fires on destinations with no explicit hide flag (the original ergonomic — new prototype targets default to visible), but explicit user intent is now preserved across interaction-add / interaction-update. Behaviour change: dropping the auto-unhide on explicitly-hidden destinations matches the reporter's expectation ("nothing would show up in View Mode unless explicitly marked as such") and the surrounding `:hide-in-viewer`-aware UI in `measures.cljs`, which already lets users toggle the same property directly. Closes #9049. Co-authored-by: Andrey Antukh <niwi@niwi.nz>