Skip to content

[codex] Fix installed desktop resource bundle loading#401

Open
heodongun wants to merge 2 commits into
masterfrom
codex/installed-app-resource-bundle-fix
Open

[codex] Fix installed desktop resource bundle loading#401
heodongun wants to merge 2 commits into
masterfrom
codex/installed-app-resource-bundle-fix

Conversation

@heodongun
Copy link
Copy Markdown
Collaborator

Summary

  • Add a desktop resource resolver that finds SwiftPM assets from the installed app's Contents/Resources/CotorDesktop_CotorDesktopApp.bundle instead of relying directly on Bundle.module.
  • Route the header logo and terminal WebView HTML through that resolver so the installed app can launch without the SwiftPM resource accessor fatal error.
  • Harden desktop app bundle packaging to fail fast when the resource bundle, logo, or terminal HTML is missing.

Root cause

The packaged macOS app placed SwiftPM resources under Contents/Resources, but the generated Bundle.module accessor could fatal before UI startup when the installed app was launched. The fix keeps resources in the signed app resources directory and resolves them explicitly at runtime.

Validation

  • swift test in macos/ passed with 126 tests.
  • bash -n shell/build-desktop-app-bundle.sh && git diff --check HEAD~2..HEAD passed.
  • ./gradlew --no-daemon formatCheck test -x jacocoTestCoverageVerification passed earlier on the fixed worktree before publish.
  • bash shell/test-desktop-launcher-runtime.sh passed earlier on the fixed worktree.
  • Rebuilt and installed /Applications/Cotor Desktop.app; codesign --verify --deep --strict passed for the built and installed app bundles.
  • Direct installed-app UI smoke passed: app launched, /health was healthy, Company/Goals/Issues/Reports/Team/Operator Chat/TUI surfaces opened, terminal HTML loaded from the packaged bundle, operator chat responded, and quitting the app left no backend/app-server child process behind.

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.

1 participant