Skip to content

Commit f2b5c3a

Browse files
committed
fix: keep fish clean-mode hooks after the crash fix
The crash fix moved shell-arg synthesis into the wrapper, but that accidentally dropped Taskers fish hooks for clean-profile launches. Clean mode should suppress user config, not Taskers integration. This follow-up keeps the fish hooks sourced in clean mode and adds coverage so fish/zsh profile env plus wrapper synthesis stay aligned. Constraint: The wrapper must preserve Taskers shell integration even when shell-specific argv no longer flows through Ghostty Rejected: Leave clean fish on --no-config only | it breaks Taskers lifecycle and metadata hooks for fish sessions Confidence: high Scope-risk: narrow Reversibility: clean Directive: Clean profile means no user config, not no Taskers integration; keep fish/zsh profile-sensitive wrapper behavior covered by tests Tested: cargo test -p taskers-runtime --lib shell_wrapper Tested: cargo test -p taskers-runtime --lib fish_and_zsh_launch_specs_preserve_shell_profile_env Tested: cargo test -p taskers-ghostty --lib host_options Tested: cargo test -p taskers runtime_bootstrap_tests --bin taskers-gtk Tested: cargo install --path crates/taskers-app --force Not-tested: Manual fish clean-profile launch from the desktop path
1 parent 3a7d020 commit f2b5c3a

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

crates/taskers-runtime/assets/shell/taskers-shell-wrapper.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ if [ "$#" -eq 0 ]; then
6262
;;
6363
fish)
6464
if [ "$SHELL_PROFILE" = "clean" ]; then
65-
set -- --no-config --interactive
65+
set -- --no-config --interactive --init-command "source \"$TASKERS_SHELL_INTEGRATION_DIR/taskers-hooks.fish\""
6666
else
6767
set -- --interactive --init-command "source \"$TASKERS_SHELL_INTEGRATION_DIR/taskers-hooks.fish\""
6868
fi

crates/taskers-runtime/src/shell.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,10 @@ mod tests {
779779
wrapper.contains("set -- -d -i"),
780780
"expected wrapper to synthesize zsh default launch flags when no explicit args are passed"
781781
);
782+
assert!(
783+
wrapper.contains("set -- --no-config --interactive --init-command"),
784+
"expected clean-profile fish launches to keep sourcing taskers-hooks.fish"
785+
);
782786
}
783787

784788
#[test]

0 commit comments

Comments
 (0)