You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 49a1098
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: NODES.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1962,7 +1962,7 @@ Pick a frame cache written by Video Cache or H3 Decode Video and use it as a cli
1962
1962
| Name | Type | Required | Default | Choices | What it does |
1963
1963
|---|---|---|---|---|---|
1964
1964
| `cache` | `COMBO` | Yes | | | Which frame cache to read, as `frame_cache/scene_00001/cache.wasframes [output]`. A cache in temp is gone after a restart. |
1965
-
| `delete_after_save` | `BOOLEAN` | Yes | False | | `true` = the cache is deleted once a save has written all of it; `false` = it is kept for the next save. |
1965
+
| `delete_after_save` | `BOOLEAN` | Yes | False | | `true` = the cache's own files are deleted once a save has written all of it, for a cache in output, temp or a `paths.allow_write` folder; `false` = it is kept for the next save. |
1966
1966
1967
1967
**Outputs**
1968
1968
@@ -2088,7 +2088,7 @@ Keep frames on disk as a clip instead of holding them in memory, for a long rend
2088
2088
| `name` | `STRING` | Yes | frame_cache/clip | | The cache's name below root, numbered on each run, as `frame_cache/scene` for `frame_cache/scene_00001`. |
2089
2089
| `delete_after_save` | `BOOLEAN` | Yes | False | | `true` = the cached frames are deleted once a save has written all of them, and the node runs again on every queue; `false` = they are kept. |
2090
2090
| `audio` | `AUDIO` | No | | | Sound for the frames, added after any already in the cache. |
2091
-
| `append_to` | `VIDEO` | No | | | A clip from Video Cache, H3 Decode Video or Load Video Cache to add these frames to, as a loop's carried value. Left empty, a new cache is made. |
2091
+
| `append_to` | `VIDEO` | No | | | A clip from Video Cache, H3 Decode Video or Load Video Cache to add these frames to, as a loop's carried value, for a cache in output, temp or a `paths.allow_write` folder. Left empty, a new cache is made. |
2092
2092
| `depth` | `COMBO` | No | auto | `auto`, `16 bit` | How frames are kept: 'auto' = 8-bit codes, half floats for a batch outside 0 to 1; '16 bit' = half floats always, for a 10-bit save. |
Copy file name to clipboardExpand all lines: SECURITY.md
+24-4Lines changed: 24 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,10 +63,11 @@ prefix `\??\`, checked after `~` is expanded. A link along a path is read withou
63
63
and one pointing at another machine is refused the same way. ComfyUI's own path helpers resolve
64
64
what they are given, so the pack calls them only through wrappers that refuse first.
65
65
66
-
A glob pattern, a file name prefix, and a name or folder typed below a folder the node has
67
-
already chosen are refused before anything is listed or resolved when they name another
68
-
machine, carry a drive, start at a root, or hold a segment of dots and spaces alone such as
69
-
`..`. Whatever they match stays inside that folder.
66
+
A glob pattern, a file name prefix, a frame cache name, and a name or folder typed below a
67
+
folder the node has already chosen are refused before anything is listed or resolved when they
68
+
name another machine, carry a drive, start at a root, or hold a segment of dots and spaces alone
69
+
such as `..`. A frame cache name is refused as well when it holds a folder separator. Whatever
70
+
they match stays inside that folder.
70
71
71
72
A node input naming a file or directory is resolved and checked against an allowlist before it
72
73
is opened, listed or written, whatever value arrives: a menu offers labels, and a linked input
@@ -83,6 +84,25 @@ No node writes the pack's settings. `config.yaml`, `config.json`, the config fil
83
84
names, and the `viewer-extensions/` folder are refused as write targets, even inside the state
84
85
directory. [docs/CONFIG.md](docs/CONFIG.md#containment) has the table.
85
86
87
+
A frame cache picked from a folder no node writes to, such as `input/` or a `paths.allow_read`
88
+
folder, is read and never added to or deleted.
89
+
90
+
### Deleting files
91
+
92
+
Files are deleted, moved or replaced in these modules and no others. Each removes files it
93
+
wrote, by name. `shutil.rmtree` is called only on a checkpoint's download folder, which the
94
+
fetch made inside the model folder.
95
+
96
+
| Module | What it removes |
97
+
|---|---|
98
+
|`modules/media/frame_cache.py`| A frame cache's own `cache.wasframes`, `frames.bin` and `audio.npy` once a save has written it, then its numbered folder if that is left empty. Only inside `output/`, `temp/` or a `paths.allow_write` folder, and never a permitted root itself. The manifest is replaced through a `.part` file |
99
+
|`modules/media/video.py`| The video Write to Video adds a frame to, replaced by the copy holding that frame |
100
+
|`modules/media/temporal_upscale.py`| The files in `temp/` a failed Video Temporal Upscale run was writing |
101
+
|`modules/archive/save.py`| The archive Zip Save was writing, when the write fails |
102
+
|`modules/latent/h3_clip_file.py`| The `.part` file H3 Save Clip writes, renamed over the clip once complete |
103
+
|`modules/interface/preview.py`| Mask editor uploads, as the route table below states |
104
+
|`modules/model/h3_latent_upscaler.py`, `modules/model/flow_networks.py`| The download folder a checkpoint lands in, once the checkpoint is moved out of it |
105
+
86
106
## HTTP routes
87
107
88
108
Every route the pack registers takes a key. None takes a path.
0 commit comments