From 1a825a57405da3c7e1a731c7e3d00e02c8f6ce0a Mon Sep 17 00:00:00 2001 From: mdheller <21163552+mdheller@users.noreply.github.com> Date: Thu, 23 Apr 2026 18:49:47 -0400 Subject: [PATCH 1/3] build(source-os): add office search open helper --- .../scripts/office_search_open.sh | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 build/office-suite/scripts/office_search_open.sh diff --git a/build/office-suite/scripts/office_search_open.sh b/build/office-suite/scripts/office_search_open.sh new file mode 100644 index 0000000..e5e697b --- /dev/null +++ b/build/office-suite/scripts/office_search_open.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +set -euo pipefail + +if [[ $# -lt 1 ]]; then + echo "usage: $0 " >&2 + exit 1 +fi + +QUERY="$1" +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" +OPEN_HELPER="$ROOT/build/office-suite/scripts/office_open.sh" + +SEARCH_OUT="$($ROOT/build/office-suite/scripts/office_search_handoff.sh "$QUERY" 2>/dev/null || true)" +FIRST_PATH="$(printf '%s +' "$SEARCH_OUT" | head -n 1)" + +if [[ -z "$FIRST_PATH" ]]; then + echo "no search results" >&2 + exit 3 +fi + +if [[ ! -f "$FIRST_PATH" ]]; then + echo "$FIRST_PATH" + exit 0 +fi + +"$OPEN_HELPER" "$FIRST_PATH" From 173dfe0158f46f74e2ecb0320f6ddedd71251577 Mon Sep 17 00:00:00 2001 From: mdheller <21163552+mdheller@users.noreply.github.com> Date: Thu, 23 Apr 2026 18:50:32 -0400 Subject: [PATCH 2/3] build(source-os): add office search open smoke helper --- .../scripts/office_search_open_smoke.sh | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 build/office-suite/scripts/office_search_open_smoke.sh diff --git a/build/office-suite/scripts/office_search_open_smoke.sh b/build/office-suite/scripts/office_search_open_smoke.sh new file mode 100644 index 0000000..fbf9594 --- /dev/null +++ b/build/office-suite/scripts/office_search_open_smoke.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" +TMPDIR="$(mktemp -d)" +trap 'rm -rf "$TMPDIR"' EXIT + +TEST_DOC="$TMPDIR/demo.txt" +echo "SourceOS office search open smoke" > "$TEST_DOC" + +# Simulate a direct search result path by shadowing the handoff helper output. +SEARCH_HELPER="$ROOT/build/office-suite/scripts/office_search_handoff.sh" +BACKUP="$TMPDIR/original_search_handoff.sh" +cp "$SEARCH_HELPER" "$BACKUP" +cat > "$SEARCH_HELPER" </dev/null || true)" + +if [[ -n "$OUT" && "$OUT" != "$TEST_DOC" && "$OUT" != http://* && "$OUT" != https://* ]]; then + echo "unexpected search open smoke output" >&2 + exit 1 +fi + +echo "office search open smoke passed" From 6c2241f90e612198658188da5de9711d890d7a52 Mon Sep 17 00:00:00 2001 From: mdheller <21163552+mdheller@users.noreply.github.com> Date: Thu, 23 Apr 2026 18:51:25 -0400 Subject: [PATCH 3/3] build(source-os): verify office search open helpers --- build/office-suite/scripts/verify_office_suite_profile.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/office-suite/scripts/verify_office_suite_profile.sh b/build/office-suite/scripts/verify_office_suite_profile.sh index ed01207..6c26ad1 100644 --- a/build/office-suite/scripts/verify_office_suite_profile.sh +++ b/build/office-suite/scripts/verify_office_suite_profile.sh @@ -24,6 +24,8 @@ require_file "build/office-suite/scripts/office_open.sh" require_file "build/office-suite/scripts/office_open_smoke.sh" require_file "build/office-suite/scripts/office_extract_smoke.sh" require_file "build/office-suite/scripts/office_search_handoff.sh" +require_file "build/office-suite/scripts/office_search_open.sh" +require_file "build/office-suite/scripts/office_search_open_smoke.sh" if [[ $FAIL -ne 0 ]]; then echo "office suite profile verification failed" >&2