Skip to content

bug: project edits (name, color, commands) don't persist for global/no-ID projects #31739

Closed as not planned

Description

@sebaactis

Description

Project edits made via the edit dialog don't persist for 'global' projects or projects without a server-side ID. The dialog closes without error, but re-opening shows the original values (name, color, commands unchanged).

Steps to Reproduce

  1. Open a 'global' project (local project without a server-side ID)
  2. Right-click → Edit
  3. Change the color (e.g. from lime to purple) and/or the name
  4. Click Save
  5. Re-open the edit dialog

Expected Behavior

The changes (color, name) should persist and be visible when re-opening the dialog.

Actual Behavior

The original values are shown. The color reverts to the auto-assigned value (e.g. lime/green), and the name reverts to the folder name.

Root Cause

Two issues:

  1. Missing local store sync: When saving a project with a real server-side ID, the dialog calls project.update() to persist to the server, then project.icon() to sync the icon override locally. But it never calls project.meta() to sync the icon color to the local store. So enriched() reads the old color from serverSync.data.project.

  2. Stale server metadata takes precedence: In enrich(), the server-side metadata is spread first, then the local project data. For 'global' projects, the server metadata contains the original auto-assigned color, which overwrites any user edits stored in childStore.projectMeta.

Environment

  • OpenCode Desktop v1.17.1
  • Windows 10 Pro 23H2 (Build 22631)

Activity

  1. github-actions commented on Jun 10, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

    If your issue is distinct (specifically the global/no-ID project case with the enrich() precedence bug), please clarify how it differs from the above.

  2. geoper42-stack commented on Jun 10, 2026

    @geoper42-stack

    Hello

  3. github-actions commented on Aug 10, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions