Skip to content

Fix filesystem-root task follow-ups with an opt-in feature - #1453

Merged
ilysenko merged 1 commit into
ilysenko:mainfrom
DPS0340:fix/filesystem-root-follow-ups
Sep 9, 2026
Merged

Fix filesystem-root task follow-ups with an opt-in feature#1453
ilysenko merged 1 commit into
ilysenko:mainfrom
DPS0340:fix/filesystem-root-follow-ups

Conversation

@DPS0340

@DPS0340 DPS0340 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

An existing local task rooted at / can accept its initial prompt but rejects follow-ups with Unable to send message — Select a project to continue. The current renderer treats ["/"] as the missing-workspace placeholder even for an existing local follow-up.

Add the disabled-by-default filesystem-root-follow-ups feature. It recognizes the complete current submission guard and permits / only when both the composer mode and follow-up type are local. New-task placeholders, empty roots, projectless policy, cloud/worktree behavior, and other submission checks are preserved. Task records and filesystem permissions are not changed. This does not reattach a detached task to its former project.

Related upstream reports: openai/codex#43845 and openai/codex#36548. This is an opt-in downstream workaround; it does not close those upstream issues.

The matcher captures minified identifiers instead of pinning bundle hashes or function names, is idempotent, and leaves ambiguous, drifted, or partially patched guards untouched. Existing enabled-feature enforcement rejects a candidate on a missed match. English and Chinese feature listings and an adjacent README document activation and removal.

Scope: one optional ASAR feature for the current signed stable Linux package, 26.903.61454, on amd64 and arm64. No launcher, package-format, updater, dependency, or default-feature changes.

Validation

  • Adjacent regression tests: 18 passed, including reproduction of the original root blocker, surrounding submission cases, renamed aliases, duplicate/partial guards, idempotence, disabled behavior, and patch-runner enforcement.

  • Patch/descriptor/feature suite: 898 passed using a headless environment:

    env -u CODEX_OZONE_PLATFORM -u WAYLAND_DISPLAY -u DISPLAY -u XDG_SESSION_TYPE \
      node --test scripts/patch-linux-window-ui.test.js scripts/patches/descriptor.test.js \
      scripts/lib/linux-features.test.js linux-features/*/test.js

    Clearing those inherited desktop variables avoids an existing MCP-reaper test assuming no Ozone flag; the test itself is unchanged.

  • Verified signed InRelease, indexed package hashes, and both official 26.903.61454 packages with the repository's resolver. Ran install.sh into isolated output directories with only this feature enabled on each architecture; both candidates passed enforcement and built successfully.

  • Compared all 9,023 logical ASAR file contents per architecture: only the primary webview bundle contents changed. ChatGPT, codex, rg, and the code-mode host remained byte-identical. The final matcher produces exactly the verified built bundle on both architectures.

  • node --check for the new JavaScript files, new documentation links, and git diff --check passed.

  • Manual evidence: an equivalent local workaround restored actual follow-up submission on CachyOS/X11 with Nix and package 26.901.51231, confirmed by the affected user. The latest-package checks above validate both builds and their bundled guard; GUI submission on 26.903.61454 and an ARM GUI session were not exercised.

GitHub CI is pending. The final diff was reviewed; a separately configured maximum-reasoning-effort review has not been run.

Checklist

  • This pull request is ready for review and is no longer a draft.
  • I followed CONTRIBUTING.md, kept the change focused, edited source files rather than generated output, and removed unrelated changes.
  • If this fixes upstream drift, it targets only the latest signed stable OpenAI Linux package and removes obsolete fallback code and tests.
  • I added or updated relevant tests, ran the validation listed above, and confirmed that required CI checks pass.
  • I reviewed the final diff with my coding agent using maximum reasoning effort, addressed all findings, and reran the relevant tests.

@ilysenko ilysenko left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the focused opt-in feature and regression coverage. Verified the guard, rootless predicate, and followUp call path in the current 26.903.61454 bundle; required CI is green. No merge blockers found.

@ilysenko
ilysenko merged commit 4aa6ada into ilysenko:main Sep 9, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants