Commit Graph
14794 Commits
Author SHA1 Message Date
Michael Bolin b09e3fd0ac merge commit for archive created by Sapling 2026-05-01 01:50:44 -07:00
Michael Bolin 4e16a08e28 ci: add Windows cargo-xwin release PoC 2026-05-01 01:50:31 -07:00
Michael Bolin 3fde0159db merge commit for archive created by Sapling 2026-05-01 01:37:18 -07:00
Michael Bolin 6e1ebc7855 ci: add Windows cargo-xwin release PoC 2026-05-01 01:37:06 -07:00
Michael Bolin 9b8d607ac5 merge commit for archive created by Sapling 2026-05-01 01:22:14 -07:00
Michael Bolin 71f3181861 ci: add Windows cargo-xwin release PoC 2026-05-01 01:22:01 -07:00
Michael Bolin 2b43ce427a merge commit for archive created by Sapling 2026-05-01 01:05:56 -07:00
Michael Bolin 04ebd01415 ci: add Windows cargo-xwin release PoC 2026-05-01 01:05:43 -07:00
xl-openai 48791920a8 feat: Track local paths for shared plugins (#20560)
When a local plugin is shared, Codex now records the local plugin path
by remote plugin id under CODEX_HOME/.tmp.

plugin/share/list includes the remote share URL and the matching local
plugin path when available, and plugin/share/delete
clears the local mapping after deleting the remote share.

Also add sharedURL to plugin/share/list.
2026-05-01 00:50:12 -07:00
Michael Bolin 3557814b40 merge commit for archive created by Sapling 2026-05-01 00:47:22 -07:00
Michael Bolin 0be290558d ci: add Windows cargo-xwin release PoC 2026-05-01 00:47:10 -07:00
Michael Bolin 73c03912a7 merge commit for archive created by Sapling 2026-05-01 00:32:18 -07:00
Michael Bolin 33ef0d2380 ci: add Windows cargo-xwin release PoC 2026-05-01 00:32:06 -07:00
Michael Bolin 768db4b726 merge commit for archive created by Sapling 2026-05-01 00:27:26 -07:00
Michael Bolin 35fc67e3ce ci: add Windows cargo-xwin release PoC 2026-05-01 00:27:13 -07:00
Michael Bolin 3490ed249e merge commit for archive created by Sapling 2026-05-01 00:23:54 -07:00
Michael Bolin caddc985d8 ci: add Windows cargo-xwin release PoC 2026-05-01 00:23:44 -07:00
Michael Bolin cafd87c046 merge commit for archive created by Sapling 2026-05-01 00:20:16 -07:00
Michael Bolin db324ac751 ci: add Windows cargo-xwin release PoC 2026-05-01 00:20:03 -07:00
Michael Bolin 3d48a5d53f merge commit for archive created by Sapling 2026-05-01 00:17:33 -07:00
Michael Bolin 57451d6bd7 ci: add Windows cargo-xwin release PoC 2026-05-01 00:17:20 -07:00
xli-oai 96d2ea9058 Add remote plugin skill read API (#20150)
## Summary

Adds an app-server `plugin/skill/read` method for remote plugin skill
markdown. The new method calls the plugin-service skill detail endpoint
and returns `skill_md_contents`, so clients can preview skills for
remote plugins before the bundle is installed locally.

## Why

Uninstalled remote plugin skills do not have local `SKILL.md` files.
Without an on-demand remote read, the desktop plugin details UI cannot
render the skill details modal for those skills.

## Validation

- `just write-app-server-schema`
- `just fmt`
- `cargo test -p codex-app-server-protocol`
- `cargo test -p codex-app-server --test all --
suite::v2::plugin_read::plugin_skill_read_reads_remote_skill_contents_when_remote_plugin_enabled
--exact`
- `just fix -p codex-app-server-protocol -p codex-core-plugins -p
codex-app-server`
2026-05-01 00:16:25 -07:00
Michael Bolin 15a5952ff4 merge commit for archive created by Sapling 2026-04-30 23:59:41 -07:00
Michael Bolin bdf0406f7f ci: add Windows cargo-xwin release PoC 2026-04-30 23:59:28 -07:00
Michael Bolin e412be3c01 merge commit for archive created by Sapling 2026-04-30 23:39:30 -07:00
Michael Bolin 9f59fbe0f1 ci: add Windows cargo-xwin release PoC 2026-04-30 23:39:01 -07:00
Michael Bolin 2e5af083dd merge commit for archive created by Sapling 2026-04-30 23:29:52 -07:00
Michael Bolin 64b6cafeff ci: add Windows cargo-xwin release PoC 2026-04-30 23:29:35 -07:00
Michael Bolin 9a42e8e8b0 merge commit for archive created by Sapling 2026-04-30 23:19:06 -07:00
Michael Bolin c88d717151 ci: add Windows cargo-xwin release PoC 2026-04-30 23:18:52 -07:00
xli-oai a62b52f826 Refresh remote plugin cache on auth changes (#20265)
## Summary
- Refresh the remote installed-plugin cache after login/logout instead
of keying it by account or eagerly clearing it.
- Reuse the existing single-flight remote installed refresh loop so
newer queued auth refreshes replace older pending requests and the API
result eventually overwrites or clears the cache.
- Keep derived plugin/skills cache and MCP refresh side effects behind
the existing effective-plugin-changed task when the refreshed installed
state changes.
- Leave `clear_plugin_related_caches` scoped to derived plugin/skills
caches so share mutations do not drop remote installed plugins.

## Tests
- `cargo fmt --all --manifest-path codex-rs/Cargo.toml` (passes; stable
rustfmt warns that `imports_granularity = Item` is nightly-only)
- `cargo test -p codex-core-plugins remote_installed_cache`
- `cargo test -p codex-app-server
skills_list_loads_remote_installed_plugin_skills_from_cache`
2026-04-30 23:11:14 -07:00
Michael Bolin e79657fa5b merge commit for archive created by Sapling 2026-04-30 22:59:29 -07:00
Michael Bolin 933f3a875a ci: add Windows cargo-xwin release PoC 2026-04-30 22:59:18 -07:00
Eric Traut a93c89f497 Color TUI statusline from active theme (#19631)
## Why

Users have shared that the TUI can feel too visually flat because themes
mostly show up in code syntax highlighting. The configurable statusline
is a natural place to make the active theme more visible, while still
letting users keep the existing monotone statusline if they prefer it.

## What Changed

- Added a statusline styling helper that builds the rendered statusline
from `(StatusLineItem, text)` segments, preserving item identity while
keeping the plain text output unchanged.
- Derived foreground accent colors from the active syntax theme by
looking up TextMate scopes through the existing syntax highlighter, with
conservative ANSI fallbacks when a scope does not provide a foreground.
- Tuned theme-derived colors to keep the accents visible without making
the statusline feel overly bright.
- Added `[tui].status_line_use_colors`, defaulting to `true`, plus a
separated `/statusline` toggle so users can enable or disable
theme-derived statusline colors from the setup UI.
- Updated the live statusline and `/statusline` preview to use the same
styled builder, while keeping terminal-title preview text plain.
- Kept statusline separators and active-agent add-ons subdued while
removing blanket dimming from the whole passive statusline.

## Verification

- `cargo test -p codex-tui status_line`
- `cargo test -p codex-tui theme_picker`
- `cargo test -p codex-tui foreground_style_for_scopes`
- `cargo test -p codex-tui`
- `cargo test -p codex-config`
- `cargo test -p codex-core status_line_use_colors`
- `cargo insta pending-snapshots --manifest-path tui/Cargo.toml`

## Visual

<img width="369" height="23" alt="Screenshot 2026-04-30 at 6 16 08 PM"
src="https://github.com/user-attachments/assets/11d03efb-8e4f-4450-8f4d-00a9659ef4cd"
/>

<img width="385" height="23" alt="Screenshot 2026-04-30 at 6 16 02 PM"
src="https://github.com/user-attachments/assets/a3d89f36-bdc1-42e8-8e84-61350e3999e2"
/>
2026-04-30 22:42:48 -07:00
Eric Traut d898cc8f3f Format multi-day goal durations in the TUI (#20558)
## Why

Goal mode shows elapsed time in compact hour/minute form. That is easy
to scan for shorter runs, but once a goal runs past 24 hours, large hour
counts become harder to read at a glance.

## What changed

Updated `codex-rs/tui/src/goal_display.rs` so unbudgeted goal elapsed
time keeps the existing compact format below one day, then switches to a
day-aware format once the elapsed time reaches 24 hours:

- `23h 59m`
- `1d 0h 0m`
- `2d 23h 42m`

The formatter now covers the 24-hour boundary in unit tests, and the TUI
status-line snapshot for a completed elapsed goal now exercises the
multi-day display.

## Verification

- `cargo test -p codex-tui`

Here's my longest-running test task:

<img width="186" height="23" alt="image"
src="https://github.com/user-attachments/assets/cedfcdab-7f6e-44e6-8495-8a39f63973fb"
/>
2026-04-30 22:42:07 -07:00
Michael Bolin 2fa49115e2 merge commit for archive created by Sapling 2026-04-30 22:40:20 -07:00
Michael Bolin 01a9cfc991 ci: add Windows cargo-xwin release PoC 2026-04-30 22:40:09 -07:00
Michael Bolin a29a8103d2 merge commit for archive created by Sapling 2026-04-30 22:27:47 -07:00
Michael Bolin 0490f7fdc6 ci: add Windows cargo-xwin release PoC 2026-04-30 22:27:25 -07:00
Michael Bolin aa44e75e4b Merge 9c3731f955 into sapling-pr-archive-bolinfest 2026-04-30 22:18:58 -07:00
Michael Bolin 9c3731f955 ci: add Windows cargo-xwin release PoC 2026-04-30 22:18:48 -07:00
Michael Bolin 1c67c26a24 merge commit for archive created by Sapling 2026-04-30 22:04:28 -07:00
Michael Bolin d70dd9ee57 ci: add Windows cargo-xwin release PoC 2026-04-30 22:04:18 -07:00
Michael Bolin 533efb1343 merge commit for archive created by Sapling 2026-04-30 21:54:16 -07:00
Michael Bolin 39110a52e1 ci: add Windows cargo-xwin release PoC 2026-04-30 21:53:56 -07:00
Michael Bolin 6ac49c783a Merge a89ac00f54 into sapling-pr-archive-bolinfest 2026-04-30 21:28:29 -07:00
Michael Bolin a89ac00f54 config: add strict config parsing 2026-04-30 21:28:07 -07:00
Tom fe05acad23 Make thread store process-scoped (#19474)
- Build one app-server process ThreadStore from startup config and share
it with ThreadManager and CodexMessageProcessor.
- Remove per-thread/fork store reconstruction so effective thread config
cannot switch the persistence backend.
- Add params to ThreadStore create/resume for specifying thread
metadata, since otherwise the metadata from store creation would be used
(incorrectly).
2026-04-30 21:24:59 -07:00
Michael Bolin 4116ccbf80 merge commit for archive created by Sapling 2026-04-30 21:10:26 -07:00
Michael Bolin 4d1cec036a ci: add Windows cargo-xwin release PoC 2026-04-30 21:09:32 -07:00