Remove premature preview load in onNodeCreated (videoWidget.value not yet restored from workflow state). Instead override configure() to update preview after values are restored, ensuring the correct video is displayed on page reload.
- SaveVideo/PreviewVideo: reuse existing video-preview widgets instead of removing and recreating them on each execution, preventing WidgetDOM from losing its mounted element reference in VueNodes mode
- UploadVideo: remove duplicate updateVideoWidget call in handleVideoUpload that caused parallel fetch/decrypt race on the same widget element
Replace fire-and-forget key delivery with a sync-status protocol that
verifies key consistency between main thread and Service Worker using
SHA-256 fingerprints via MessageChannel request-response.
- SW (ts/sw.ts): persist keys in IndexedDB, auto-restore on activate;
respond to sync-status queries with loaded keys + fingerprints;
support cryptio-clear-keys to wipe memory + DB.
- New ts/utils/swSync.ts: single entry point for SW registration,
key sync, and status verification. Controller change listener
re-syncs on SW restart. Deduplicates concurrent sync calls.
- Deleted ts/utils/swKeySender.ts (replaced by swSync.ts).
- Remove SW registration (~55 lines) from cryptioSaveImage.ts;
setup() now calls syncSWStatus().
- uploadUtils.ts: drop 5-retry preview loop (~6.4s worst case);
single attempt with syncSWStatus fallback on failure.
- cryptioSettings.ts: sync after key changes; clearSWKeys() on
Clear All.
- cryptioUploadImage/Video.ts: syncSWStatus in setup + preview
fallback.
- types.ts: add SWStatus interface.
- Use ComfyUI SettingCustomRenderer API for action buttons instead of ToggleSwitch
- Add key status display (Client/Server key configuration state)
- Replace raw DOM toast with app.extensionManager.toast API
- Replace window.confirm with app.extensionManager.dialog API
- Inject themed CSS matching ComfyUI design tokens
- Add pi-icon buttons with primary/default/danger variants
- Change category to [CryptIO🔒, Key Management] for proper nav tree structure