client: run a keymap command in the background without a transient session #227

Merged
natsukium merged 1 commit from client/run-background into main 2026-10-23 17:09:24 +09:00
Owner

A run binding with background = true spawns its command without a transient session, so the window stays usable while the command runs. That covers the two requests behind this, without a dedicated window action (non-goals.md "Window-management chords"):

"super+n" = { kind = "run", background = true, command = ["/path/to/felis"] }

This opens another window in the session's directory; felis attach "$FELIS_ORIGIN_SESSION_ID" through sh -c opens a second window on the same session. Before this change, the binding had to be open -n <store path>/felis.app, which broke on every upgrade and opened in $HOME.

The command keeps a foreground run's context: FELIS_ORIGIN_SESSION_ID, FELIS_HOST, FELIS_CWD, and the session's local OSC 7 directory.

  • Spawn: the client spawns it detached (its own process group, null stdio) and reaps it on a thread that logs failures.
  • cwd fallback: with no local OSC 7 directory it starts in the home directory, not the client's /.
  • Gating: it is refused in the same cases as a foreground run.
  • Origin variables: it relies on #226, which removes stale origin variables, so a launched window never inherits a previous chord's FELIS_HOST.

Closes #224.

PATH resolution of bare names is out of scope; the example uses an absolute path. Resolving the sibling felis is #225.

BindingValue::Run / Action::RunCommand gain a field, so felis-client-core takes a library minor; the app version is unaffected.

Verification

  • New tests in felis-client-core pipe:
    • the origin variables the origin lacks are removed, and the ones it has are exported;
    • cwd is the local OSC 7 directory, else home;
    • an empty argv yields no command;
    • on Unix, the spawn returns before the command finishes and the command sees the current session id.
  • Workspace nextest under the dev shell: 4322 passed. The run excludes the cli_bridge write-failure hang and the felis-render-wgpu golden tests, both of which fail on clean main.
  • Passing: just fmt-check lint check-portable skill-check docs-links deny publish-dry-run proto-compat test-tools check-windows.
  • Manual run on macOS against an isolated daemon:
    • a probe shell reported an OSC 7 directory containing a space;
    • ctrl+shift+b bound to a background /bin/sh command that logs its context and sleeps 4 s, fired twice within those 4 s, ran both times;
    • each run saw the session's id, that directory, and an unset FELIS_HOST;
    • both runs finished and left no zombie behind.
A `run` binding with `background = true` spawns its command without a transient session, so the window stays usable while the command runs. That covers the two requests behind this, without a dedicated window action (`non-goals.md` "Window-management chords"): ```toml "super+n" = { kind = "run", background = true, command = ["/path/to/felis"] } ``` This opens another window in the session's directory; `felis attach "$FELIS_ORIGIN_SESSION_ID"` through `sh -c` opens a second window on the same session. Before this change, the binding had to be `open -n <store path>/felis.app`, which broke on every upgrade and opened in `$HOME`. The command keeps a foreground `run`'s context: `FELIS_ORIGIN_SESSION_ID`, `FELIS_HOST`, `FELIS_CWD`, and the session's local `OSC 7` directory. - **Spawn:** the client spawns it detached (its own process group, null stdio) and reaps it on a thread that logs failures. - **cwd fallback:** with no local `OSC 7` directory it starts in the home directory, not the client's `/`. - **Gating:** it is refused in the same cases as a foreground `run`. - **Origin variables:** it relies on #226, which removes stale origin variables, so a launched window never inherits a previous chord's `FELIS_HOST`. Closes #224. PATH resolution of bare names is out of scope; the example uses an absolute path. Resolving the sibling `felis` is #225. `BindingValue::Run` / `Action::RunCommand` gain a field, so felis-client-core takes a library minor; the app version is unaffected. ## Verification - New tests in `felis-client-core` `pipe`: - the origin variables the origin lacks are removed, and the ones it has are exported; - cwd is the local `OSC 7` directory, else home; - an empty argv yields no command; - on Unix, the spawn returns before the command finishes and the command sees the current session id. - Workspace nextest under the dev shell: 4322 passed. The run excludes the `cli_bridge` write-failure hang and the `felis-render-wgpu` golden tests, both of which fail on clean `main`. - Passing: `just fmt-check lint check-portable skill-check docs-links deny publish-dry-run proto-compat test-tools check-windows`. - Manual run on macOS against an isolated daemon: - a probe shell reported an `OSC 7` directory containing a space; - `ctrl+shift+b` bound to a background `/bin/sh` command that logs its context and sleeps 4 s, fired twice within those 4 s, ran both times; - each run saw the session's id, that directory, and an unset `FELIS_HOST`; - both runs finished and left no zombie behind.
daemon: scrub stale keymap-command origin variables from every base
All checks were successful
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 11s
windows / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / windows docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m14s
windows / cargo nextest (Windows) (pull_request) Successful in 2m25s
windows / frontend smoke (Windows) (pull_request) Successful in 38s
bench / instruction-count regression gate (pull_request) Successful in 5m38s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 20m17s
pr / nix flake check (pull_request) Successful in 5m19s
pr / cargo build / clippy / test / deny (pull_request) Successful in 5m40s
pr / wire schema is compatible with the base (pull_request) Successful in 19s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 3m49s
windows / cargo clippy (Windows cross) (pull_request) Successful in 56s
fce752591d
The client exports FELIS_ORIGIN_SESSION_ID, FELIS_HOST, FELIS_CWD and
the viewport anchors to a keymap command, adding only the values the
current origin has. Nothing removed an inherited copy, so a felis
window launched from such a command kept that chord's values in its
own environment and handed them to its later chords and new sessions:
a local window opened from a --host window went on reporting the
remote host, and a script branching on FELIS_HOST dialed the wrong
daemon.

The daemon now removes them in apply_env_policy next to the denylist,
which every create passes through whatever its base (the client's
snapshot, the relay carrier's environment, or the daemon's own birth
environment, including a systemd-run hand-off and the fallback when a
snapshot is over its caps). Unlike the denylist they are not reserved:
the chord that spawns a command sets the current values through
SpawnArgs.env, which applies after the scrub. Scrubbing only in the
client's capture and in the daemon auto-spawn was rejected because the
relay base and a manager-started daemon bypass both.

felis-client-core exposes the full set as ORIGIN_ENV_KEYS, and a
daemon test keeps the two lists equal, since the daemon reaches
client-core only as a dev-dependency.

Assisted-by: Claude Code
client: run a keymap command in the background without a transient session
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 11s
windows / windows docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m14s
windows / cargo nextest (Windows) (pull_request) Successful in 2m32s
windows / frontend smoke (Windows) (pull_request) Successful in 37s
bench / instruction-count regression gate (pull_request) Successful in 4m46s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 2m17s
pr / nix flake check (pull_request) Successful in 2m24s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m46s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 29s
windows / cargo clippy (Windows cross) (pull_request) Successful in 15s
29106ebd7c
`run` always spawned its argv as a transient session over the live
grid and returned to the window only when the command exited. That is
what a session picker needs, but a command that wants only the
session's context, such as opening another felis window in the
session's directory or a second window on the same session, then
covered the origin window for as long as the new window lived. The
workaround was a launcher that returns at once (`open -n` with the
app's store path), which also dropped the session's directory.

`background = true` keeps the context (FELIS_ORIGIN_SESSION_ID,
FELIS_HOST, FELIS_CWD and the OSC 7 directory) and drops the transient:
the client spawns the argv itself, detached in its own process group
with null stdio, and reaps it on a thread that logs a failure. The
"a daemon spawns, not the client" rule rests on the client not being a
PTY host, which a PTY-less spawn does not need. With no local OSC 7
directory it starts in the home directory rather than the client's own
cwd, which is / for a window macOS launched. It is gated exactly like a
foreground run, so it cannot fire while a landing could still leave
the origin describing the departing session.

A dedicated new-window action was rejected as a window-management
chord (non-goals.md). Resolving bare command names against a
configured PATH was left out because it would re-implement the OS
executable lookup on every platform.

The new field on BindingValue::Run and Action::RunCommand is a
breaking change to felis-client-core's library API.

Assisted-by: Claude Code
tmp: clear stale packaged crates before the publish dry-run
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 8s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 14s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 1m3s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m11s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 51s
pr / nix flake check (pull_request) Successful in 28s
windows / cargo nextest (Windows) (pull_request) Successful in 2m47s
windows / frontend smoke (Windows) (pull_request) Successful in 49s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m38s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 35s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
d29f1642b8
Assisted-by: Claude Code
natsukium force-pushed client/run-background from d29f1642b8
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 8s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 14s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 1m3s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m11s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 51s
pr / nix flake check (pull_request) Successful in 28s
windows / cargo nextest (Windows) (pull_request) Successful in 2m47s
windows / frontend smoke (Windows) (pull_request) Successful in 49s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m38s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 35s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
to 29106ebd7c
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 11s
windows / windows docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m14s
windows / cargo nextest (Windows) (pull_request) Successful in 2m32s
windows / frontend smoke (Windows) (pull_request) Successful in 37s
bench / instruction-count regression gate (pull_request) Successful in 4m46s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 2m17s
pr / nix flake check (pull_request) Successful in 2m24s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m46s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 29s
windows / cargo clippy (Windows cross) (pull_request) Successful in 15s
2026-10-21 23:32:54 +09:00
Compare
tmp: clear stale packaged crates before the publish dry-run
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 8s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 10s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 46s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m11s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 50s
pr / nix flake check (pull_request) Successful in 29s
windows / cargo nextest (Windows) (pull_request) Successful in 2m44s
windows / frontend smoke (Windows) (pull_request) Successful in 40s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m41s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 26s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
2d8e422c3e
natsukium force-pushed client/run-background from 2d8e422c3e
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 8s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 10s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 46s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m11s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 50s
pr / nix flake check (pull_request) Successful in 29s
windows / cargo nextest (Windows) (pull_request) Successful in 2m44s
windows / frontend smoke (Windows) (pull_request) Successful in 40s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m41s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 26s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
to e8829d6fdc
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 8s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 12s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 47s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m10s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 50s
pr / nix flake check (pull_request) Successful in 29s
windows / cargo nextest (Windows) (pull_request) Successful in 2m44s
windows / frontend smoke (Windows) (pull_request) Successful in 41s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m41s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 26s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
2026-10-21 23:45:52 +09:00
Compare
natsukium force-pushed client/run-background from e8829d6fdc
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 8s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 12s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 47s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m10s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 50s
pr / nix flake check (pull_request) Successful in 29s
windows / cargo nextest (Windows) (pull_request) Successful in 2m44s
windows / frontend smoke (Windows) (pull_request) Successful in 41s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m41s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 26s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
to 830a709575
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 10s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 46s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m14s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 51s
pr / nix flake check (pull_request) Successful in 27s
windows / cargo nextest (Windows) (pull_request) Successful in 2m43s
windows / frontend smoke (Windows) (pull_request) Successful in 40s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m43s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 28s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
2026-10-21 23:54:31 +09:00
Compare
natsukium force-pushed client/run-background from 830a709575
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 10s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 46s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m14s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 51s
pr / nix flake check (pull_request) Successful in 27s
windows / cargo nextest (Windows) (pull_request) Successful in 2m43s
windows / frontend smoke (Windows) (pull_request) Successful in 40s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m43s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 28s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
to 5c8ba95be6
All checks were successful
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 10s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 48s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m14s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 52s
pr / nix flake check (pull_request) Successful in 31s
windows / cargo nextest (Windows) (pull_request) Successful in 2m46s
windows / frontend smoke (Windows) (pull_request) Successful in 46s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m56s
pr / wire schema is compatible with the base (pull_request) Successful in 6s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 30s
windows / cargo clippy (Windows cross) (pull_request) Successful in 15s
2026-10-22 00:29:13 +09:00
Compare
natsukium force-pushed client/run-background from 5c8ba95be6
All checks were successful
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 10s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 48s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m14s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 52s
pr / nix flake check (pull_request) Successful in 31s
windows / cargo nextest (Windows) (pull_request) Successful in 2m46s
windows / frontend smoke (Windows) (pull_request) Successful in 46s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m56s
pr / wire schema is compatible with the base (pull_request) Successful in 6s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 30s
windows / cargo clippy (Windows cross) (pull_request) Successful in 15s
to 29106ebd7c
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 11s
windows / windows docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m14s
windows / cargo nextest (Windows) (pull_request) Successful in 2m32s
windows / frontend smoke (Windows) (pull_request) Successful in 37s
bench / instruction-count regression gate (pull_request) Successful in 4m46s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 2m17s
pr / nix flake check (pull_request) Successful in 2m24s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m46s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 29s
windows / cargo clippy (Windows cross) (pull_request) Successful in 15s
2026-10-22 00:34:48 +09:00
Compare
natsukium force-pushed client/run-background from 29106ebd7c
Some checks failed
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 11s
windows / windows docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m14s
windows / cargo nextest (Windows) (pull_request) Successful in 2m32s
windows / frontend smoke (Windows) (pull_request) Successful in 37s
bench / instruction-count regression gate (pull_request) Successful in 4m46s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 2m17s
pr / nix flake check (pull_request) Successful in 2m24s
pr / cargo build / clippy / test / deny (pull_request) Failing after 1m46s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 29s
windows / cargo clippy (Windows cross) (pull_request) Successful in 15s
to d4871f690f
All checks were successful
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 10s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 46s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m15s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 52s
pr / nix flake check (pull_request) Successful in 43s
windows / cargo nextest (Windows) (pull_request) Successful in 2m43s
windows / frontend smoke (Windows) (pull_request) Successful in 46s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m56s
pr / wire schema is compatible with the base (pull_request) Successful in 4s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 27s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
2026-10-22 01:39:07 +09:00
Compare
natsukium force-pushed client/run-background from d4871f690f
All checks were successful
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 10s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 46s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m15s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 52s
pr / nix flake check (pull_request) Successful in 43s
windows / cargo nextest (Windows) (pull_request) Successful in 2m43s
windows / frontend smoke (Windows) (pull_request) Successful in 46s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m56s
pr / wire schema is compatible with the base (pull_request) Successful in 4s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 27s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
to 064750b33e
All checks were successful
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 15s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 1m12s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m15s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 51s
pr / nix flake check (pull_request) Successful in 44s
windows / cargo nextest (Windows) (pull_request) Successful in 4m5s
windows / frontend smoke (Windows) (pull_request) Successful in 1m8s
pr / cargo build / clippy / test / deny (pull_request) Successful in 4m21s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 50s
windows / cargo clippy (Windows cross) (pull_request) Successful in 29s
2026-10-22 01:54:48 +09:00
Compare
natsukium force-pushed client/run-background from 064750b33e
All checks were successful
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / detect relevant changes (pull_request) Successful in 15s
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 1m12s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m15s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 51s
pr / nix flake check (pull_request) Successful in 44s
windows / cargo nextest (Windows) (pull_request) Successful in 4m5s
windows / frontend smoke (Windows) (pull_request) Successful in 1m8s
pr / cargo build / clippy / test / deny (pull_request) Successful in 4m21s
pr / wire schema is compatible with the base (pull_request) Successful in 3s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 50s
windows / cargo clippy (Windows cross) (pull_request) Successful in 29s
to f9b86e9dae
All checks were successful
fuzz / cargo fuzz nightly long-run (pull_request) Has been skipped
darwin / detect relevant changes (pull_request) Successful in 11s
windows / detect relevant changes (pull_request) Successful in 11s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / windows docs-only no-op (pull_request) Has been skipped
bench / instruction-count regression gate (pull_request) Successful in 52s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m16s
fuzz / cargo fuzz smoke (per target) (pull_request) Successful in 51s
pr / nix flake check (pull_request) Successful in 43s
windows / cargo nextest (Windows) (pull_request) Successful in 2m53s
windows / frontend smoke (Windows) (pull_request) Successful in 52s
pr / cargo build / clippy / test / deny (pull_request) Successful in 2m34s
pr / wire schema is compatible with the base (pull_request) Successful in 4s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 28s
windows / cargo clippy (Windows cross) (pull_request) Successful in 15s
2026-10-23 16:55:47 +09:00
Compare
natsukium deleted branch client/run-background 2026-10-23 17:09:24 +09:00
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
felis-terminal/felis!227
No description provided.