chore: sync upstream/main through v1.0.3 + codex tool mode#3
Merged
Conversation
…ll-paths Discover standard agent skill paths
…ames-only # Conflicts: # src/config.test.ts # src/config.ts # src/server.ts # src/ui/card-types.ts # src/ui/workspace-app.tsx
Improve apply_patch diff UI and validation
…ructions Clarify show changes review timing
…hema Simplify show changes tool schema
# Conflicts: # src/config.ts # src/server.ts
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Syncs our fork with
upstream/mainthrough v1.0.3 + the mergedcodex-tool-modePR (Waishnav#26), bringing DevSpace to feature parity with upstream while preserving our fork'sDEVSPACE_TRUST_PROXY_HOPShardening.Key upstream additions pulled in:
codextool mode (DEVSPACE_TOOL_MODE=codex): replacesedit/write/bashsurface withapply_patch+exec_command+write_stdin(resumable PTY-backed process sessions).read/edit/bash/etc.node-ptywith optional native build, Windows/macOS/Linux process management.Why both features survive (merge intent)
The two conflict regions addressed orthogonal concerns, so both are kept:
minimalTools/parseMinimalTools→ enumToolMode = "minimal" | "full" | "codex"withparseToolMode. This carries the codex tool surface (apply_patch, exec_command, PTY, codex cards).b589d0a) isDEVSPACE_TRUST_PROXY_HOPS— Expresstrust proxyhop counting behind tunnels, independent of the tool surface. Upstream never adopted it, so dropping it would lose real security hardening.No semantic overlap. The conflicts were positional: our trust-proxy helpers were inserted adjacent to
parseMinimalTools, which upstream rewrote.Conflicts resolved (2)
Both in code we own on the fork side that touched the same regions upstream rewrote:
src/config.ts— Kept our trust-proxy helpers (parseTrustProxyHopsRaw,isLoopbackHost,resolveTrustProxyHops). Adopted upstream'sparseToolMode/toolMode(string enum) instead of our deletedparseMinimalTools/minimalTools(boolean).loadConfigalready referencestoolModecorrectly.src/server.ts— Imports: kept ourdescribeTrustProxy/trustForwardedHeadersimports alongside upstream's newapplyPatchimport and existingWidgetMode/ServerConfig/loadConfig.Verification
DEVSPACE_TOOL_MODE=codexconfirmed active server-side:open_workspaceregistered and called successfully (codex/minimal/full share this tool; codex addsapply_patch/exec_command/write_stdinand suppressesedit/write/grep/glob/ls).Migration note for Linux installs
Upstream ships
node-ptyprebuilds for darwin/win32 only. On Linux, a cleannpm install(with globalignore-scriptson) leavesnode-ptyunbuilt —process-sessions.test.tserrors with "PTY support requires the optional node-pty dependency" and PTY-backedtty: trueshells fail at runtime. Fix:Non-PTY paths work without the rebuild.
Out of scope (separate issue)
ChatGPT Apps
_meta.ui.domain("Widget domain is not set… A unique domain is required for app submission") is not addressed here — tracked in #2.