openai / openai/codex

[Windows app] Source-only project changes leave Save disabled until metadata changes

Open
#43,677 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

App version

Microsoft Store package OpenAI.Codex 26.901.6511.0; desktop application 26.901.51231.

Subscription

Pro 20×

Platform

Windows 11 x64.

Issue and reproduction
  1. Open an existing ChatGPT project's settings.
  2. Add or delete a reference file and wait for the operation to finish.
  3. Leave the name and other metadata unchanged.

Save remains disabled. Changing the project name makes it available. Expected: successful reference-file changes should count as a change, with Save unavailable while a file operation is pending.

Root cause in the distributed client

The native project form u2n calculates its save eligibility from metadata fields such as name, icon, theme, and instructions, but excludes source uploads and deletions. Those source operations already persist through separate APIs, so this report is about inconsistent dialog state, not proof that uploaded files were lost.

The local repair tracks successful source mutations per dialog, counts concurrent pending operations, and includes that state in the existing save predicate. Failures retain the native error path. The existing metadata writer already skips unchanged fields; file-only Save therefore does not issue a redundant rename or overwrite project metadata.

Validation

Six tracker tests and twelve tests executing the full form and native writer cover upload/delete success, failures, concurrent deletions, pending saves, reentry, unmounts, invalid names, permissions, and metadata-only changes. The user confirmed that reference-file changes can now be saved without changing the name.

Entry points: assets/local-project-settings-v1.mjs, tests/project-sources.mjs, and tests/project-settings.mjs.

Reproducible implementation

Complete English source, English release, and upstream evidence guide. The original project is wjtianze/codex-desktop-repair; its main branch remains in Chinese.

The package contains checked patch fragments and synthetic regression cases, not complete proprietary client bundles or account data. Both language editions passed 242 tests: 76 portable cases and 166 cases executing functions extracted from the supported official app. This is a local repair and evidence submission, not an official source merge.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with assets/local-project-settings-v1.mjs and trace the save eligibility state for successful, pending, and failed source operations. Run tests/project-sources.mjs and tests/project-settings.mjs, including the concurrent-operation and reentry cases. Done means successful reference-file changes enable Save without metadata changes, while pending or failed operations preserve the existing behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.