Skip to content

desktop: sidecar: themes seed directory not bundled, 0 themes seeded on first launch #120

Description

@sanjitkverma

What this prevents

  • I can pick a theme from the theme switcher on the first launch of the desktop app.

Every desktop launch seeds skills, MCP servers, and workflow templates correctly, but reports zero themes seeded because the PyInstaller spec is missing the themes seed directory in its datas list. The theme switcher renders empty until the user hand-installs a theme. This is a packaging bug, not a code bug. Other seed assets bundle correctly.


Surface

  • The sidecar PyInstaller spec(s) define the datas list passed to PyInstaller. The list includes other seed directories but omits the themes directory.
  • The themes seeder logs the runtime error.

Repro

bash desktop/scripts/dev.sh
# wait for sidecar startup
# observe log line:
#   ERROR    Themes directory not found at .../_MEIxxxx/app/seeds/themes
#   INFO     Seed themes: 0 processed

Other seeds in the same boot succeed:

INFO     Skills: 0 created, 11 updated
INFO     Seed MCP servers: 17 created, 5 updated
INFO     Workflow templates updated

Expected vs Actual

Expected: themes seed directory is unpacked next to the bundled binary at _MEIxxxx/app/seeds/themes, the seeder iterates it, and themes are inserted into the SQLite DB.

Actual: the directory is absent because the PyInstaller spec never copies it. The seeder logs an error and returns 0 processed.

Suggested fix

Add the themes seed directory to the datas tuple in the sidecar PyInstaller spec, alongside the existing seed directories. Verify by running the sidecar build and grepping the bundled _MEI extract for themes/.

# sidecar PyInstaller spec (datas list)
datas += collect_data_files("app.seeds.themes")
# or explicit:
datas += [(str(repo_root / "orchestrator/app/seeds/themes"), "app/seeds/themes")]

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingopensourceSelf-contained issue suitable for external contributors

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions