dify/api/core/sandbox
Harry 76c02db094 fix: namespace sandbox temp paths by sandbox ID to prevent cross-session collisions
DifyCli and AppAssets used hardcoded absolute paths under /tmp/.dify/,
causing concurrent sandbox sessions on the same host (e.g. SSH provider)
to overwrite each other's config files and CLI binaries.

- Add Sandbox.id property (uuid4 hex) as a stable, path-safe identifier
  independent of provider-specific environment IDs
- Convert DifyCli/AppAssets from static constants to per-sandbox instances
  namespaced under /tmp/.dify/{sandbox.id}/
- Replace all vm.metadata.id references with sandbox.id
- Replace upload_file with heredoc-based pipeline step in session.py to
  reduce round-trips
2026-03-11 19:19:17 +08:00
..
bash fix: namespace sandbox temp paths by sandbox ID to prevent cross-session collisions 2026-03-11 19:19:17 +08:00
entities fix: namespace sandbox temp paths by sandbox ID to prevent cross-session collisions 2026-03-11 19:19:17 +08:00
initializer fix: namespace sandbox temp paths by sandbox ID to prevent cross-session collisions 2026-03-11 19:19:17 +08:00
inspector feat: add DB inline content cache for app asset draft files 2026-03-10 17:12:14 +08:00
services refactor: unify download item types and eliminate extension-based branching 2026-03-10 17:12:15 +08:00
storage feat: enhance file upload process with content type detection and command building 2026-02-05 18:00:45 +08:00
utils feat(sandbox): add AppAssetsInitializer and refactor VMFactory to VMBuilder 2026-01-15 00:13:52 +08:00
__init__.py refactor: async skill compile and context sharing 2026-03-11 14:41:33 +08:00
builder.py refactor: async skill compile and context sharing 2026-03-11 14:41:33 +08:00
manager.py fix: namespace sandbox temp paths by sandbox ID to prevent cross-session collisions 2026-03-11 19:19:17 +08:00
sandbox.py fix: namespace sandbox temp paths by sandbox ID to prevent cross-session collisions 2026-03-11 19:19:17 +08:00