Commit Graph
70 Commits
Author SHA1 Message Date
google-labs-jules[bot] fe771ef87e feat(security): implement strict input validation for InfoPanel settings
Add validation for all InfoPanel settings loaded in StateManager to prevent
injection of invalid values (e.g. out-of-bounds numbers, invalid colors).
This mitigates risks of degraded stability or potential injection via
manipulated settings storage.

- Add validateNumber, validateColor, validateStringOption helpers
- Update StateManager.loadSettings to validate all keys
- Add unit tests for validation logic
2026-01-16 04:45:01 +00:00
AEmotionStudio 0cf992d528 fix: address final PR review issues 2026-01-15 17:38:38 -08:00
AEmotionStudio 837fe7da87 fix: address additional PR review issues 2026-01-15 17:24:05 -08:00
AEmotionStudio 3c17fc34ff fix: address PR review - add constraints to data attrs and fix boolean coercion 2026-01-15 17:12:48 -08:00
AEmotionStudio 1434e703e0 feat: add Inspector Value Editing - inline widget editing from Inspector Panel 2026-01-15 17:01:58 -08:00
AEmotionStudio 978b3d0521 fix: resolve cloned video play abort errors and other console noise 2026-01-14 13:19:48 -08:00
AEmotionStudio e0471b716a Merge branch 'pr/11'
# Conflicts:
#	src/info-panel/UIManager.ts
2026-01-13 22:14:27 -08:00
AEmotionStudio 9f16a72420 Merge PR #9: Accessibility improvements and rebuild artifacts 2026-01-13 21:32:37 -08:00
AEmotionStudio 608904d1a7 refactor: improve component visibility management and styling 2026-01-13 21:23:10 -08:00
google-labs-jules[bot] 4cf3e9f50b fix(security): allow trusted html in info panel while sanitizing user input
- Add `isHtml` flag to `Focus Node` button to bypass escaping
- Update `UIManager` to check for `isHtml` flag before formatting/escaping
- Add regression tests for trusted HTML rendering logic
2026-01-14 04:56:25 +00:00
google-labs-jules[bot] 11062e4748 fix: ensure aria-expanded is correct on init
- Updated `UIManager.createPanel` to call `updateMinimizedState()` if the panel is initialized in a minimized state.
- This ensures the `aria-expanded` attribute on the minimize button correctly reflects the initial state (false) instead of defaulting to true.
2026-01-14 04:47:35 +00:00
google-labs-jules[bot] 416090376e feat(security): sanitize user input in info panel to prevent XSS
- Add `escapeHtml` utility to `src/shared/utils.ts`
- Sanitize rendered values in `src/info-panel/ValueFormatter.ts`
- Sanitize node titles, types, and labels in `src/info-panel/UIManager.ts`
- Add unit tests verifying XSS prevention in `tests/unit/Security.test.ts`
2026-01-14 04:38:38 +00:00
google-labs-jules[bot] fe8df50f48 feat: add aria labels and state attributes to icon buttons
- Added `aria-label` to all icon-only buttons in the Info Panel and Magnify Glass toggle.
- Implemented dynamic `aria-pressed` state updates for toggle buttons (pin, lock, persist, etc.).
- Added `aria-expanded` state for the minimize/maximize button.
- Added `aria-label` to the copy-to-clipboard button.
- Ensures better screen reader compatibility and accessibility compliance.
2026-01-14 04:37:02 +00:00
AEmotionStudio 4de67e52a9 fix: Clear blue node highlight when magnifying glass is disabled 2026-01-13 20:33:52 -08:00
AEmotionStudio 2a10f9392f Remove CSS transition from node highlight for better responsiveness 2026-01-10 20:43:40 -08:00
AEmotionStudio c8b0290193 Refactor node highlighter to use DOM-based element for better precision and performance 2026-01-10 20:33:30 -08:00
AEmotionStudio 1cd6bf9f29 Fix node highlighter to include title bar height 2026-01-10 16:47:18 -08:00
google-labs-jules[bot] 962afa2b29 docs: update comments for sticky mode logic
Removed 'FIX:' prefix from comments in UIManager.ts as the logic
to prevent bouncing in Sticky Mode is already correctly implemented.
The comments now accurately describe the existing behavior without
implying a pending task.
2026-01-09 14:00:50 +00:00
AEmotionStudio fe48d7ec05 feat: add keyboard shortcut indicators to info panel persist and hold button tooltips 2026-01-06 01:24:25 -08:00
AEmotionStudio c21d1c731b refactor: Group glass settings, add new appearance and behavior options 2026-01-06 01:09:47 -08:00
AEmotionStudio ee45d627f1 feat: replace hover clipboard icon with interactive copy button and clipboard functionality for info panel values 2026-01-06 00:09:42 -08:00
AEmotionStudio 88a04b117e feat: Add 'Focus Node' button to info panel and popout to center canvas on the selected node. 2026-01-05 17:57:41 -08:00
AEmotionStudio c8ac92e7d3 feat: improve canvas highlight hook robustness and update node highlight style to a thicker blue border. 2026-01-05 17:34:42 -08:00
AEmotionStudio 444614f574 fix: Remove node type display from info panel 2026-01-05 17:27:03 -08:00
AEmotionStudio 56e0277b6c feat: add canvas node highlighting for the info panel and refine its update logic to manage highlights. 2026-01-05 17:22:24 -08:00
AEmotionStudio a02efd032d feat: Add node sorting by ID to the info panel and pop-out viewer. 2026-01-05 16:44:37 -08:00
AEmotionStudio e2feb5739a fix: explicitly set selected node in state manager when onNodeSelected is invoked. 2026-01-05 16:26:56 -08:00
AEmotionStudio e2e19f83e1 feat: enable node list display and selection in the pop-out viewer and update version. 2026-01-05 16:22:52 -08:00
AEmotionStudio ac8bda31ac feat: Introduce NodeSelector for fetching, sorting, and searching ComfyUI nodes. 2026-01-05 15:50:52 -08:00
AEmotionStudio 6af63e9db4 feat: disable info panel persist setting when panel is hidden via toggle button 2026-01-05 14:55:53 -08:00
AEmotionStudio f1acd5ef38 feat: Dynamically update pop-out button's active state and tooltip based on viewer status. 2026-01-05 14:34:02 -08:00
AEmotionStudio 2127ffb583 feat: allow info panel to update even when glass preview is hidden 2026-01-05 13:05:12 -08:00
AEmotionStudio 3804d41ef1 feat: Add ability to hide magnify glass preview and refine info panel visibility based on glass state. 2026-01-05 12:19:46 -08:00
AEmotionStudio 1996fff06e feat: Introduce info panel hold state and toggle functionality. 2026-01-05 01:43:07 -08:00
AEmotionStudio 46206a6a08 feat: Update cursor preview button visibility based on info panel pinned state and fix a minor typo in ConfigManager. 2026-01-04 23:33:12 -08:00
AEmotionStudio 4145d3e0d9 feat: Add button to toggle cursor preview in the magnify glass. 2026-01-04 23:25:18 -08:00
AEmotionStudio 6f7ce3ab90 feat: Add hotkey indicator to drag glass button title 2026-01-03 12:05:31 -08:00
AEmotionStudio e2965f7a38 feat: Extend theme detection to include dracula, gruvbox, and monokai, and synchronize themes with the popout viewer. 2026-01-03 04:03:51 -08:00
AEmotionStudio 44423cd6bd feat: Add reset position icon and update UI manager. 2026-01-03 03:50:57 -08:00
AEmotionStudio 3d051a400b feat: Add drag-and-drop functionality for the magnify glass and info panel with new lock/move controls. 2026-01-03 03:43:07 -08:00
AEmotionStudio c608b92f94 feat: default info panel to expanded state 2026-01-03 02:08:06 -08:00
AEmotionStudio 1ecd2cc8dd feat: clarify info panel pin/lock button tooltips for better user understanding 2026-01-03 01:55:40 -08:00
AEmotionStudio 2041279b5a fix: disable pin button and update its tooltip and opacity when the magnify glass preview is hidden. 2026-01-03 01:42:40 -08:00
AEmotionStudio 257c77fcee feat: Add font family selection to the info panel settings. 2026-01-03 01:31:15 -08:00
AEmotionStudio ccb8626297 refactor: remove pop-out button from magnify glass UI and overhaul popout viewer styling with new theme variables. 2026-01-03 01:04:40 -08:00
AEmotionStudio 15d1ada501 feat: Update info panel and sidebar settings with new persist mode and control states 2026-01-02 15:22:49 -08:00
AEmotionStudio 5a53d12bc3 perf: Cache panel position to reduce layout thrashing and synchronize control movement by disabling transitions. 2026-01-02 15:16:27 -08:00
AEmotionStudio 3a8ff12ad1 refactor: update UIManager for info panel and adjust its styling. 2026-01-02 15:02:09 -08:00
AEmotionStudio ac2eba8b73 feat: Add info panel persistence setting and magnet icon to allow displaying last hovered node info. 2026-01-02 14:50:20 -08:00
AEmotionStudio ea6b800b32 feat: Add info panel font size setting and display node's Python module path instead of author. 2026-01-02 14:36:56 -08:00