Commit Graph
14735 Commits
Author SHA1 Message Date
Michael Bolin c0a62f12a0 Merge dbf9b746e7 into sapling-pr-archive-bolinfest 2026-05-01 15:54:14 -07:00
Michael Bolin dbf9b746e7 config: add strict config parsing 2026-05-01 15:53:36 -07:00
Michael Bolin 1e3ae27a47 merge commit for archive created by Sapling 2026-05-01 15:13:37 -07:00
Michael Bolin b3ce7557e2 ci: cross-compile Windows Bazel tests 2026-05-01 15:13:20 -07:00
Michael Bolin 4155fcb896 Merge 70f78dddbe into sapling-pr-archive-bolinfest 2026-05-01 15:03:44 -07:00
Michael Bolin 70f78dddbe ci: cross-compile Windows Bazel tests 2026-05-01 15:03:35 -07:00
Michael Bolin b3aaed0d8b Merge 424b183876 into sapling-pr-archive-bolinfest 2026-05-01 14:50:28 -07:00
Michael Bolin 424b183876 ci: cross-compile Windows Bazel tests 2026-05-01 14:50:18 -07:00
Michael Bolin 000afcfda8 merge commit for archive created by Sapling 2026-05-01 14:32:10 -07:00
Michael Bolin ba63116378 config: add strict config parsing 2026-05-01 14:31:52 -07:00
Michael Bolin f57e63a445 Merge b5683ea808 into sapling-pr-archive-bolinfest 2026-05-01 14:18:24 -07:00
Michael Bolin b5683ea808 ci: cross-compile Windows Bazel tests 2026-05-01 14:18:08 -07:00
Michael Bolin a49d4241ee Merge 5ba42268e8 into sapling-pr-archive-bolinfest 2026-05-01 14:17:16 -07:00
Michael Bolin 5ba42268e8 test: make async cancellation test deterministic 2026-05-01 14:17:01 -07:00
Michael Bolin b491802566 Merge 79a259e476 into sapling-pr-archive-bolinfest 2026-05-01 13:31:38 -07:00
Michael Bolin 79a259e476 ci: cross-compile Windows Bazel tests 2026-05-01 13:31:27 -07:00
Michael Bolin 9cb775190c merge commit for archive created by Sapling 2026-05-01 13:17:37 -07:00
Michael Bolin 7be09d1904 config: add strict config parsing 2026-05-01 13:17:22 -07:00
Michael Bolin 2398f07395 Merge a8f5a8ce13 into sapling-pr-archive-bolinfest 2026-05-01 13:08:31 -07:00
Michael Bolin a8f5a8ce13 config: add strict config parsing 2026-05-01 13:08:23 -07:00
Michael Bolin f32a0d4c13 Merge 79ad051875 into sapling-pr-archive-bolinfest 2026-05-01 13:02:17 -07:00
Michael Bolin 79ad051875 ci: cross-compile Windows Bazel tests 2026-05-01 13:02:06 -07:00
Michael Bolin 525b1119c0 merge commit for archive created by Sapling 2026-05-01 12:54:55 -07:00
Michael Bolin 849c3aaa41 ci: cross-compile Windows Bazel tests 2026-05-01 12:54:34 -07:00
Michael Bolin 1caaac1ce3 Merge c4c13e2b09 into sapling-pr-archive-bolinfest 2026-05-01 12:36:08 -07:00
Michael Bolin c4c13e2b09 config: add strict config parsing 2026-05-01 12:36:00 -07:00
Michael Bolin d4dfc7e548 merge commit for archive created by Sapling 2026-05-01 12:33:24 -07:00
Michael Bolin cbbc2016ef ci: cross-compile Windows Bazel tests 2026-05-01 12:33:03 -07:00
Michael Bolin b689006860 Merge 6b51c774b0 into sapling-pr-archive-bolinfest 2026-05-01 12:10:03 -07:00
Michael Bolin 6b51c774b0 ci: cross-compile Windows Bazel tests 2026-05-01 12:09:51 -07:00
Michael Bolin 7f03323e3f merge commit for archive created by Sapling 2026-05-01 12:03:54 -07:00
Michael Bolin 94d8d4832f config: add strict config parsing 2026-05-01 12:03:36 -07:00
Michael Bolin 05f867cc5c Merge 97731fcb7b into sapling-pr-archive-bolinfest 2026-05-01 11:34:56 -07:00
Michael Bolin 97731fcb7b ci: cross-compile Windows Bazel tests 2026-05-01 11:34:37 -07:00
Michael Bolin 4d51238379 Merge d4d74a43dc into sapling-pr-archive-bolinfest 2026-05-01 11:31:01 -07:00
Michael Bolin d4d74a43dc config: add strict config parsing 2026-05-01 11:30:51 -07:00
pakrym-oai aed74e5ee4 [codex] Emit image view as core item (#20512)
## Why

Image-view results should be represented as a core-produced turn item
instead of being reconstructed by app-server. At the same time, existing
rollout/history paths still understand the legacy `ViewImageToolCall`
event, so this keeps that event as compatibility output generated from
the new item lifecycle.

## What changed

- Added `TurnItem::ImageView` to `codex-protocol`.
- Emitted image-view item start/completion directly from the core
`view_image` handler.
- Kept `ViewImageToolCall` as a legacy event and generate it from
completed `TurnItem::ImageView` items.
- Kept `thread_history.rs` on the legacy `ViewImageToolCall` replay
path, with `ImageView` item lifecycle events ignored there.
- Updated app-server protocol conversion, rollout persistence, and
affected exhaustive event matches for the new item plus legacy fan-out
shape.

## Verification

- `cargo test -p codex-protocol -p codex-app-server-protocol -p
codex-rollout -p codex-rollout-trace -p codex-mcp-server -p
codex-app-server --lib`
- `cargo test -p codex-core --test all
view_image_tool_attaches_local_image`
- `just fix -p codex-protocol -p codex-core -p codex-app-server-protocol
-p codex-app-server -p codex-rollout -p codex-rollout-trace -p
codex-mcp-server`
- `git diff --check`
2026-05-01 11:28:30 -07:00
canvrno-oai 610eefb86b /plugins: add marketplace upgrade flow (#20478)
This PR adds marketplace upgrade to the `/plugins` menu so users can
update configured marketplaces. It adds a `Ctrl+U` shortcut on eligible
marketplace tabs, a loading state, and the app-server request flow
needed to perform `marketplace/upgrade`. After a successful upgrade, the
TUI refreshes plugin data, plugin mentions, and user config so updated
marketplace contents show up across the menu and other plugin surfaces.
It also preserves the current marketplace tab on no-op and failure paths
and surfaces backend error details directly in the TUI.

- Add a `Ctrl+U` upgrade option for user-configured marketplace tabs in
`/plugins`
- Show the upgrade footer hint only on upgradeable marketplace tabs
- Show a loading state during `marketplace/upgrade`
- Surface already-up-to-date and per-marketplace failure results from
the backend
- Refresh plugin data, plugin mentions, and user config after successful
upgrades
- Add tests and snapshot updates for the shortcut flow, loading state,
and failure messaging

Steps to test:
1. Add a `/plugin` marketplace to Codex TUI.
2. Open `/plugins`, move to that marketplace tab, and confirm the footer
shows `Ctrl+U` to upgrade.
3. Press `Ctrl+U` and confirm the popup switches into an upgrade loading
state.
4. When the request finishes, confirm you see the expected result:
updated marketplace contents on success, an already-up-to-date message
on no-op, or backend error details on failure. On no-op or failure,
confirm the popup stays on the same marketplace tab.
2026-05-01 11:26:29 -07:00
jif-oai 2817866a32 fix: reduce ConfigBuilder::build stack usage (#20650)
## Why

`ConfigBuilder::build` performs a large amount of async config loading.
Leaving that entire future on the caller stack makes config startup more
fragile on small runtime worker stacks.

## What changed

- keep `ConfigBuilder::build` as a thin wrapper that boxes the
config-loading future before awaiting it
- move the existing implementation into a private `build_inner` method
so the large async state machine lives on the heap instead of the
runtime thread stack

## Testing

- Not run locally
2026-05-01 20:24:17 +02:00
Felipe Coury ff66b3c7eb fix(tui): restore alt-enter newline alias (#20535)
Fixes https://github.com/openai/codex/issues/20501

## Summary
- add Alt+Enter to the built-in editor newline aliases
- update keymap tests that used Alt+Enter as a custom submit binding now
that it conflicts with newline
- refresh the keymap action-menu snapshot fixture

## Test Plan
- `just fmt`
- `cargo test -p codex-tui keymap::tests`
- `cargo test -p codex-tui bottom_pane::textarea::tests`
- `cargo test -p codex-tui keymap_setup::tests`
- `cargo test -p codex-tui`
- `cargo insta pending-snapshots`
- `git diff --check`
- `just argument-comment-lint`
2026-05-01 15:22:02 -03:00
Michael Bolin edba065a7f Merge 9475d37b83 into sapling-pr-archive-bolinfest 2026-05-01 11:16:52 -07:00
Michael Bolin 9475d37b83 config: add strict config parsing 2026-05-01 11:16:40 -07:00
Michael Bolin ac186cbff5 Merge bdbe9b64a4 into sapling-pr-archive-bolinfest 2026-05-01 11:09:48 -07:00
Michael Bolin bdbe9b64a4 ci: cross-compile Windows Bazel tests 2026-05-01 11:09:35 -07:00
Michael Bolin eb1c860802 merge commit for archive created by Sapling 2026-05-01 11:04:11 -07:00
Michael Bolin af28d76b60 config: add strict config parsing 2026-05-01 11:03:57 -07:00
starr-openaiandCodex be71b6fcd1 Use selected turn environments for runtime context (#20281)
## Summary
- make selected turn environments the source of truth for session
runtime cwd and MCP runtime environment selection
- keep local/no-selection fallback behavior intact
- add coverage for duplicate selected environments, cwd resolution, and
MCP runtime environment selection

## Validation
- git diff --check
- rustfmt was run on touched Rust files during the implementation
workflow

CI should provide the full Bazel/test signal.

---------

Co-authored-by: Codex <noreply@openai.com>
2026-05-01 11:00:14 -07:00
Tom e4d6675632 [codex] Migrate loaded thread/read history to ThreadStore (#20486)
## Summary

- Route loaded `thread/read` + `includeTurns` through
`CodexThread::load_history` / ThreadStore history instead of direct
rollout JSONL reads.
- Add an in-memory ThreadStore regression test covering loaded
`thread/read includeTurns` without a local rollout path.
2026-05-01 10:55:04 -07:00
Michael Bolin d843d6ad86 merge commit for archive created by Sapling 2026-05-01 10:41:26 -07:00
Michael Bolin f48e5adf98 config: add strict config parsing 2026-05-01 10:41:10 -07:00