feat: move sideloader from an extension to a workbench contribution#31
feat: move sideloader from an extension to a workbench contribution#31JonahBraun wants to merge 21 commits into
Conversation
|
Pre-release: 1.108.1-pr31-b7efbd8 https://github.com/genesis-ai-dev/codex/releases/tag/1.108.1-pr31-b7efbd8 |
|
Pre-release build ready: 1.108.1-pr31-b3baa31 |
|
Pre-release build ready: 1.108.1-pr31-0647bca |
0647bca to
15bf3e3
Compare
|
/build |
|
❌ Build failed — logs |
|
/build |
|
Prerelease 1.108.1-pr15bf3e3 |
|
Pre-release build ready: 1.108.1-pr31-5ddcd76 |
5ddcd76 to
8f9b292
Compare
|
Pre-release build ready: 1.108.1-pr31-8f9b292 |
55181bb to
3af8dda
Compare
8f9b292 to
fb3d06b
Compare
|
Pre-release build ready: 1.108.1-pr31-ad33e69 |
ad33e69 to
247b328
Compare
|
Pre-release: 1.108.1-pr31-247b328 https://github.com/genesis-ai-dev/codex/releases/tag/1.108.1-pr31-247b328 |
|
/build |
|
Pre-release: 1.108.1-pr31-96ab408 https://github.com/genesis-ai-dev/codex/releases/tag/1.108.1-pr31-96ab408 |
…r extension Moves sideloading logic into the Codex shell as a Workbench Contribution that uses direct IExtensionGalleryService/IWorkbenchExtensionManagementService access instead of the public installExtension command, runs deterministically at WorkbenchPhase.AfterRestored, and reads configuration from product.json. ## Changes - New source overlay: codexSideloader contribution (2 files) - New patch: feat-codex-sideloader.patch (registers in workbench.common.main.ts) - product.json: add codexSideloadExtensions config array - bundle-extensions.json: remove extension-sideloader entry
Config entries can now be either a string (gallery install) or an object with `id` and `vsix` fields (direct VSIX install via shared process IPC, bypassing the marketplace). Gallery and VSIX installs run in parallel.
- Fix TS2352 by casting IProductService through unknown before indexing with a string key - Guard get-extensions.sh against empty bundle array (macOS seq 0 -1 outputs 0, causing a null download attempt)
Point sideloader at PR-built VSIXs for codex-editor (0.24.0-pr829) and frontier-authentication (0.4.24-pr23) to test pin enforcement.
Previously the sideloader only checked extension ID presence, so if codex-editor 0.24.0 was already installed it would skip the VSIX install even when a different version was configured. Add a required `version` field to VSIX entries and reinstall whenever the installed manifest version doesn't match.
- Default all SHOULD_BUILD_* toggles and macOS signing env vars so sourcing doesn't crash under `set -e` when run outside CI - Build unsigned DMG with a warning when no Developer ID cert is configured, instead of silently skipping - Fix typo: dev/build.sh sourced macos-codesign.env but the file is actually codesign.env
- Add version field to object entry format in CodexSideloader description - Clarify that string entries skip any installed version; VSIX entries reinstall on version mismatch - Add feat-codex-sideloader.patch to Patch Dependencies table
…e visible in all profiles Previously, VSIX entries (e.g. Frontier) were installed via the raw shared-process channel without a profileLocation, which defaults to a profile-specific folder rather than the global extensions location. This made them invisible in pin profiles created by CodexConductor. Gallery entries use IWorkbenchExtensionManagementService.installFromGallery() which targets defaultProfile.extensionsResource (the global location) and are visible in all profiles — confirmed by Shared State Store being available in pin profiles. VSIX installs now explicitly pass the same profileLocation.
96ab408 to
b653490
Compare
|
/build |
|
Pre-release: 1.108.1-pr31-b653490 https://github.com/genesis-ai-dev/codex/releases/tag/1.108.1-pr31-b653490 |
|
branch merged into another PR and now in master. closing this dead PR |
This PR replaces the standalone
extension-sideloaderextension with a built-inCodexSideloaderworkbench contribution and adds automation for producing "Codex Beta" PR releases.Changes:
extension-sideloaderextension with a native workbench contribution for more robust extension management.product.json.create-pr-releasescript and build-system flexibility (APP_NAME,BINARY_NAME) to produce branded beta artifacts for pull requests.AGENTS.mdand architectural docs to reflect the new sideloading architecture.Related Documentation: