fix: use temp file for message to avoid shell parsing issues #196

Merged
shoko merged 1 commits from fix/issue-message-encoding into main 2026-04-07 04:27:50 +02:00

View File

@@ -225,7 +225,10 @@ cmd_delegate() {
exit 1 exit 1
fi fi
nohup sh -c "GITEA_TOKEN='${GITEA_TOKEN:-}' opencode run '$message' --session '$new_session'" >> "$log_file" 2>&1 & local msg_file="$LOGS_DIR/msg-$new_session.txt"
printf '%s' "$message" > "$msg_file"
nohup sh -c "GITEA_TOKEN='${GITEA_TOKEN:-}' opencode run '@$msg_file' --session '$new_session'" >> "$log_file" 2>&1 &
rm -f "$msg_file"
echo "Delegated to new session (logged to $(basename "$log_file"))" echo "Delegated to new session (logged to $(basename "$log_file"))"
} }
@@ -373,7 +376,10 @@ cmd_start() {
load_agent_env "dev" load_agent_env "dev"
cd "$worktree_path" cd "$worktree_path"
nohup sh -c "GITEA_TOKEN='${GITEA_TOKEN:-}' opencode run '$dev_message' --session '$new_session_id'" >> "$LOGS_DIR/dev-$new_session_id.log" 2>&1 & local msg_file="$LOGS_DIR/msg-$new_session_id.txt"
printf '%s' "$dev_message" > "$msg_file"
nohup sh -c "GITEA_TOKEN='${GITEA_TOKEN:-}' opencode run '@$msg_file' --session '$new_session_id'" >> "$LOGS_DIR/dev-$new_session_id.log" 2>&1 &
rm -f "$msg_file"
echo "Session started for '$issue_ref': $new_session_id" echo "Session started for '$issue_ref': $new_session_id"
echo "Worktree: $worktree_path" echo "Worktree: $worktree_path"
@@ -436,7 +442,10 @@ cmd_continue() {
fi fi
cd "$worktree_path" cd "$worktree_path"
nohup sh -c "GITEA_TOKEN='${GITEA_TOKEN:-}' opencode run '$message' --session '$opencode_session_id'" >> "$LOGS_DIR/dev-$opencode_session_id.log" 2>&1 & local msg_file="$LOGS_DIR/msg-$opencode_session_id.txt"
printf '%s' "$message" > "$msg_file"
nohup sh -c "GITEA_TOKEN='${GITEA_TOKEN:-}' opencode run '@$msg_file' --session '$opencode_session_id'" >> "$LOGS_DIR/dev-$opencode_session_id.log" 2>&1 &
rm -f "$msg_file"
} }
cmd_list() { cmd_list() {