Skip to content

feat: restore Flashgrep with release-based binary downloads - #2895

Merged
wgqqqqq merged 2 commits into
GCWing:mainfrom
wgqqqqq:wgq/flashgrep-download
Sep 8, 2026
Merged

wgqqqqq merged 2 commits into
GCWing:mainfrom
wgqqqqq:wgq/flashgrep-download

Conversation

@wgqqqqq

@wgqqqqq wgqqqqq commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Restore local workspace search and its settings, fetching Flashgrep binaries from a public binary-only GitHub release instead of committing executables. Desktop CI, local packaging, and the Windows installer include only the binary for their target architecture.

Type and Areas

Type: Feature restoration, bug fix, CI

Areas: Desktop/Tauri, Web UI, workspace search services, installer, packaging, development scripts

Motivation / Impact

  • Download pinned Flashgrep v0.2.16 assets from wgqqqqq/flashgrep-binaries, verify SHA-256 and size, reuse valid caches, and atomically replace invalid caches. Source code remains outside that public repository.
  • Restore local search settings and indexing controls. Remote workspaces explicitly reject Flashgrep operations before remote I/O and hide related controls; generated operation capabilities declare this limitation.
  • Prepare Flashgrep automatically for development. Reuse Sherpa libraries across worktrees or download with curl to support SOCKS proxies, and keep Vite/HMR ports and desktop window URLs consistent through OPENBITFUN_DEV_PORT / OPENBITFUN_DEV_HMR_PORT.

Verification

Re-run after rebasing onto upstream main:

  • node --test scripts/dev-startup.test.mjs scripts/prepare-flashgrep-resource.test.mjs scripts/desktop-tauri-build.test.mjs scripts/prepare-dsh-profile.test.mjs — 39 passed.
  • pnpm --dir src/web-ui exec vitest run src/infrastructure/config/components/RuntimeSettingsPages.test.tsx src/app/global-search/providers/interactiveCapabilitySearchProvider.test.ts src/tools/file-explorer/search/useWorkspaceSearchIndex.test.ts — 31 passed.
  • pnpm exec tsc --noEmit -p src/web-ui/tsconfig.json — passed.
  • pnpm run capabilities:generate, pnpm run check:github-config, pnpm run check:core-boundaries, and git diff --check — passed.

Earlier focused verification on this change:

  • Remote search service unit tests: 7 passed, including rejection without provider I/O; operation registry tests: 19 passed.
  • cargo test -p openbitfun-desktop --no-default-features --lib appearance::development_frontend_tests with cached Sherpa libraries — 2 passed.
  • Verified hashes and architecture headers for all six public release binaries. Ran real indexing and content hydration using the macOS ARM64 binary.
  • Built and launched macOS ARM64 development desktop on port 1432; confirmed the configured window URL and frontend API traffic. User confirmed the UI works.

Reviewer Notes

Full platform packaging is left to CI. Remote-workspace rejection is covered by unit tests; no live SSH, remote-control, peer-device, or detached-dispatch end-to-end session was exercised. This does not add remote Flashgrep support.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@wgqqqqq
wgqqqqq merged commit 6123198 into GCWing:main Sep 8, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant