|
91 | 91 | let formDiskUsagePath = $state('/app/data/projects'); |
92 | 92 | let formMaxImageUploadSize = $state(500); |
93 | 93 | let formBaseServerUrl = $state('http://localhost'); |
94 | | - let formAllowedExternalPaths = $state(''); |
95 | 94 | let formScheduledPruneEnabled = $state(false); |
96 | 95 | let formScheduledPruneInterval = $state(1440); |
97 | 96 | let formScheduledPruneContainers = $state(true); |
98 | 97 | let formScheduledPruneImages = $state(true); |
99 | 98 | let formScheduledPruneVolumes = $state(false); |
100 | 99 | let formScheduledPruneNetworks = $state(true); |
101 | 100 | let formScheduledPruneBuildCache = $state(false); |
| 101 | + let formAllowedExternalPaths = $state(''); |
102 | 102 |
|
103 | 103 | type PollingIntervalMode = 'hourly' | 'daily' | 'weekly' | 'custom'; |
104 | 104 |
|
|
160 | 160 | formDiskUsagePath = settings.diskUsagePath || '/app/data/projects'; |
161 | 161 | formMaxImageUploadSize = settings.maxImageUploadSize || 500; |
162 | 162 | formBaseServerUrl = settings.baseServerUrl || 'http://localhost'; |
163 | | - formAllowedExternalPaths = settings.allowedExternalPaths || ''; |
164 | 163 | formScheduledPruneEnabled = settings.scheduledPruneEnabled ?? false; |
165 | 164 | formScheduledPruneInterval = settings.scheduledPruneInterval ?? 1440; |
166 | 165 | formScheduledPruneContainers = settings.scheduledPruneContainers ?? true; |
167 | 166 | formScheduledPruneImages = settings.scheduledPruneImages ?? true; |
168 | 167 | formScheduledPruneVolumes = settings.scheduledPruneVolumes ?? false; |
169 | 168 | formScheduledPruneNetworks = settings.scheduledPruneNetworks ?? true; |
170 | 169 | formScheduledPruneBuildCache = settings.scheduledPruneBuildCache ?? false; |
| 170 | + formAllowedExternalPaths = settings.allowedExternalPaths || ''; |
171 | 171 |
|
172 | 172 | // Initialize derived states |
173 | 173 | pollingIntervalMode = imagePollingOptions.find((o) => o.minutes === settings.pollingInterval)?.value ?? 'custom'; |
|
224 | 224 | formDiskUsagePath !== (settings.diskUsagePath || '/app/data/projects') || |
225 | 225 | formMaxImageUploadSize !== (settings.maxImageUploadSize || 500) || |
226 | 226 | formBaseServerUrl !== (settings.baseServerUrl || 'http://localhost') || |
227 | | - formAllowedExternalPaths !== (settings.allowedExternalPaths || ''))) |
228 | 227 | formScheduledPruneEnabled !== (settings.scheduledPruneEnabled ?? false) || |
229 | 228 | formScheduledPruneInterval !== (settings.scheduledPruneInterval ?? 1440) || |
230 | 229 | formScheduledPruneContainers !== (settings.scheduledPruneContainers ?? true) || |
231 | 230 | formScheduledPruneImages !== (settings.scheduledPruneImages ?? true) || |
232 | 231 | formScheduledPruneVolumes !== (settings.scheduledPruneVolumes ?? false) || |
233 | 232 | formScheduledPruneNetworks !== (settings.scheduledPruneNetworks ?? true) || |
234 | | - formScheduledPruneBuildCache !== (settings.scheduledPruneBuildCache ?? false))) |
| 233 | + formScheduledPruneBuildCache !== (settings.scheduledPruneBuildCache ?? false) || |
| 234 | + formAllowedExternalPaths !== (settings.allowedExternalPaths || ''))) |
235 | 235 | ); |
236 | 236 |
|
237 | 237 | async function refreshEnvironment() { |
|
257 | 257 | formDiskUsagePath = settings.diskUsagePath || '/app/data/projects'; |
258 | 258 | formMaxImageUploadSize = settings.maxImageUploadSize || 500; |
259 | 259 | formBaseServerUrl = settings.baseServerUrl || 'http://localhost'; |
260 | | - formAllowedExternalPaths = settings.allowedExternalPaths || ''; |
261 | 260 | formScheduledPruneEnabled = settings.scheduledPruneEnabled ?? false; |
262 | 261 | formScheduledPruneInterval = settings.scheduledPruneInterval ?? 1440; |
263 | 262 | formScheduledPruneContainers = settings.scheduledPruneContainers ?? true; |
264 | 263 | formScheduledPruneImages = settings.scheduledPruneImages ?? true; |
265 | 264 | formScheduledPruneVolumes = settings.scheduledPruneVolumes ?? false; |
266 | 265 | formScheduledPruneNetworks = settings.scheduledPruneNetworks ?? true; |
267 | 266 | formScheduledPruneBuildCache = settings.scheduledPruneBuildCache ?? false; |
| 267 | + formAllowedExternalPaths = settings.allowedExternalPaths || ''; |
268 | 268 |
|
269 | 269 | // Initialize derived states |
270 | 270 | pollingIntervalMode = imagePollingOptions.find((o) => o.minutes === settings.pollingInterval)?.value ?? 'custom'; |
|
354 | 354 | diskUsagePath: formDiskUsagePath, |
355 | 355 | maxImageUploadSize: formMaxImageUploadSize, |
356 | 356 | baseServerUrl: formBaseServerUrl, |
357 | | - allowedExternalPaths: formAllowedExternalPaths |
358 | 357 | scheduledPruneEnabled: formScheduledPruneEnabled, |
359 | 358 | scheduledPruneInterval: sanitizedScheduledPruneInterval, |
360 | 359 | scheduledPruneContainers: formScheduledPruneContainers, |
361 | 360 | scheduledPruneImages: formScheduledPruneImages, |
362 | 361 | scheduledPruneVolumes: formScheduledPruneVolumes, |
363 | 362 | scheduledPruneNetworks: formScheduledPruneNetworks, |
364 | | - scheduledPruneBuildCache: formScheduledPruneBuildCache |
| 363 | + scheduledPruneBuildCache: formScheduledPruneBuildCache, |
| 364 | + allowedExternalPaths: formAllowedExternalPaths |
365 | 365 | }); |
366 | 366 | } |
367 | 367 |
|
|
0 commit comments