Files
Suzu008 a58a5b8917 refactor(sw): bidirectional SW status sync with IndexedDB persistence
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.
2026-05-30 22:29:45 +08:00

60 lines
2.7 KiB
JSON

{
"version": 1,
"skills": {
"comfyui-node-advanced": {
"source": "jtydhr88/comfyui-custom-node-skills",
"sourceType": "github",
"skillPath": "plugins/comfyui-custom-nodes/skills/comfyui-node-advanced/SKILL.md",
"computedHash": "c096e68c33360e28abe06b69e531b83f3dc826a40ea21e46b4c8a28f1fa4aefd"
},
"comfyui-node-basics": {
"source": "jtydhr88/comfyui-custom-node-skills",
"sourceType": "github",
"skillPath": "plugins/comfyui-custom-nodes/skills/comfyui-node-basics/SKILL.md",
"computedHash": "160a565a09d779b4e19cd0c61b9ee1d5e9491e0fe54b648632c15be6e14855a0"
},
"comfyui-node-datatypes": {
"source": "jtydhr88/comfyui-custom-node-skills",
"sourceType": "github",
"skillPath": "plugins/comfyui-custom-nodes/skills/comfyui-node-datatypes/SKILL.md",
"computedHash": "d9c9130075d005c82c2dd406ffde1bff3035bcca4276c3ce79c40df356d3b771"
},
"comfyui-node-frontend": {
"source": "jtydhr88/comfyui-custom-node-skills",
"sourceType": "github",
"skillPath": "plugins/comfyui-custom-nodes/skills/comfyui-node-frontend/SKILL.md",
"computedHash": "1853a9feb9c2c0bc759c9daa7cafd1114d01a87bfdbc2a94c595dda809d62663"
},
"comfyui-node-inputs": {
"source": "jtydhr88/comfyui-custom-node-skills",
"sourceType": "github",
"skillPath": "plugins/comfyui-custom-nodes/skills/comfyui-node-inputs/SKILL.md",
"computedHash": "29888eb83e1173aed0627b2c106f7deaaa7ca59a547e6f83ff9893ea9bbd73dd"
},
"comfyui-node-lifecycle": {
"source": "jtydhr88/comfyui-custom-node-skills",
"sourceType": "github",
"skillPath": "plugins/comfyui-custom-nodes/skills/comfyui-node-lifecycle/SKILL.md",
"computedHash": "a09eac7fdd8c3978f425bc2dcba18dd5a47641f342de72d8949814206aedddc9"
},
"comfyui-node-migration": {
"source": "jtydhr88/comfyui-custom-node-skills",
"sourceType": "github",
"skillPath": "plugins/comfyui-custom-nodes/skills/comfyui-node-migration/SKILL.md",
"computedHash": "213863c4d3bac3aa34b38507c0fbca7eb774b50df6a20e3cba32ab3ca0057569"
},
"comfyui-node-outputs": {
"source": "jtydhr88/comfyui-custom-node-skills",
"sourceType": "github",
"skillPath": "plugins/comfyui-custom-nodes/skills/comfyui-node-outputs/SKILL.md",
"computedHash": "3efce7a21b4e02f91ec9353cb2431ebc77044bff0f68ef7d81feb744f86946b3"
},
"comfyui-node-packaging": {
"source": "jtydhr88/comfyui-custom-node-skills",
"sourceType": "github",
"skillPath": "plugins/comfyui-custom-nodes/skills/comfyui-node-packaging/SKILL.md",
"computedHash": "a64a0353af48aeb414c55d3826a1a2d512604c497912503c538497f8311588dd"
}
}
}