Skip to content

Show app results in the full search window (follow-up to #58) - #65

Open
Naoray wants to merge 2 commits into
ARahim3:mainfrom
Naoray:feat/window-app-search
Open

Naoray wants to merge 2 commits into
ARahim3:mainfrom
Naoray:feat/window-app-search

Conversation

@Naoray

@Naoray Naoray commented Oct 14, 2026

Copy link
Copy Markdown

Opening DigUp directly shows the full search window, where app names currently return only file matches—even with the app launcher from #58 enabled. This extends the same launcher to that window: matching apps appear first in All, and Return opens the selected app.

Depends on #58; merge that PR first. This branch contains its unchanged commit e0d9712, followed by one new commit, ceca40a. The upstream repository only has main, so the draft targets main and currently includes the dependency in its diff. Review only this follow-up. Related to #57.

Changelog

Added

  • App results in the full search window. Reuse the existing name matching, ranking, four-app limit, and Find apps by name preference. Apps appear immediately, ahead of asynchronous file results, and refresh when the app scan completes.

Changed

  • Consistent app presentation across search views. Show app icons without a document badge, label them as applications for accessibility, and update the setting description. File and code filters retain their existing scope.

Validation

  • swift test: all 101 tests in 12 suites passed, including the nine app-search tests and model reference-vector checks.
  • Release app built and code-signature verification passed on Apple Silicon, macOS 26.5.
  • Offscreen before/after captures use a separate defaults suite and an empty scratch file index. Searching Safari changes from no matches to the Safari app.
  • Live installed-build checks: Safari appears above file matches; Documents excludes apps; Return on Calculator launches Calculator.
  • File-search evals were not rerun: the index, embeddings, file retrieval, and file ranking are unchanged. This patch adds local application rows in the UI.

Before and after

Same full-window query, same empty scratch index; no personal file contents are shown.

Before (#58):

Full search window before: Safari has no matches

After:

Full search window after: Safari appears as an application

AdeetyaU and others added 2 commits October 13, 2026 20:37
Apps whose names you type come first in the panel, under "Applications",
and Return opens the top one, as in Spotlight or Alfred. An app matches by
the start of its name, the start of a word in it ("code" for Visual Studio
Code, "term" for iTerm), the starts of several words in order ("sys set"),
or its initials ("vsc") — never the middle of a word, so "cat" doesn't
launch Calculator. Among matches as good, apps launched from DigUp most and
used most lately come first.

The Applications folders are read at launch and again in the background
when the panel opens (at most every 30 s). Matching lives in DigUpKit
(AppSearch, with tests); reading the folders and launching in the app
(AppLauncher). Settings → General can turn it off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Naoray
Naoray marked this pull request as ready for review October 14, 2026 09:05
AmirHossein-84 added a commit to AmirHossein-84/DigUp that referenced this pull request Oct 18, 2026
… localization

- SQLite & Search Layer (PRs ARahim3#16, ARahim3#38, ARahim3#82, ARahim3#85, ARahim3#94, ARahim3#111):
  * StatementCache with sqlite3_reset statement recycling and reentrant transactions
  * PRAGMA mmap_size = 1GB, synchronous = NORMAL, cache_size = -64000
  * Zero-copy row.copyBlob direct vector loading into searcher matrix halves
  * Unicode NFC normalization for cross-platform and CJK/accented file paths
  * Chunked IN queries with UNION ALL to eliminate N+1 roundtrips
  * CJK Han character detection, Han text budgeting, and Han-aware snippet generation
  * SIMD8<Float> acceleration in Math+Portable.swift without heap allocations
  * Float16Shim for Intel Mac x86_64 IEEE 754 binary16 compatibility

- Crawler, Rules, Path Normalization & Extractors (PRs ARahim3#33, ARahim3#42, ARahim3#56, ARahim3#60, ARahim3#79, ARahim3#80, ARahim3#86, ARahim3#88, ARahim3#91, ARahim3#101, ARahim3#107, ARahim3#109, Issues ARahim3#67, ARahim3#97, ARahim3#105, ARahim3#127):
  * Fix Windows path slash/drive normalization in DirectoryWalk preventing 0-file crawl
  * Fix case-insensitive folder matching on Windows in FolderSelection
  * Fix Crawler to never treat user-selected search roots (e.g. ~) as project roots
  * Exclude secrets/keys (.env*, .pem, .kdbx, SSH keys, passwd) in Rules
  * Honor standard CACHEDIR.TAG 43-byte signature when crawling
  * Skip build/intermediate directories (.venv, target, .build, .next, dist, bin, obj)
  * Drop FileProvider download status lookups for 10-50x faster cloud folder crawls
  * OfficeText extractor for .xlsx, .pptx, .ods, .odp XML documents
  * Headless LibreOffice .doc extractor on Linux and local Notion SQLite workspace extractor
  * Safe typed CGPDFDictionaryGetString for PDF metadata preventing crashes
  * Preserve OCR keywords on image-only PDFs
  * Outlook PST reader utility crate in pst/

- Indexing Pipeline & Runtime (PRs ARahim3#49, ARahim3#53, ARahim3#62, ARahim3#64, ARahim3#71, ARahim3#72, ARahim3#114, Issue ARahim3#3):
  * Batched document text embeddings (up to 16 docs per pass)
  * Cumulative IndexProgress tracking across multi-pass indexing
  * DocumentCache for extracted chunks to prevent redundant file disk reads
  * Linux URLSession SIGABRT fix in FileFetcher
  * ImageLoader parallel prefetching and batched image embeddings
  * Apple Neural Engine CoreML video frame encoding support
  * Scoped incremental subtree sync when changed paths are known
  * Autoreleasepool wrapping in background worker extraction to eliminate memory leaks

- Daemon, Lifecycle & Policies (PRs ARahim3#24, ARahim3#27, ARahim3#31, ARahim3#36, ARahim3#51, ARahim3#82, Issues ARahim3#22, ARahim3#68):
  * HelperRestartPolicy for clean stop/resume transitions
  * Backlog starvation recovery and --resume-pending in IndexService
  * Configurable indexing hours window policy
  * Opt-in Low Power Mode indexing to protect laptop thermals and battery
  * Win32 OpenProcess(SYNCHRONIZE) parent monitor to prevent zombie helpers on Windows
  * Correct 0-hit search behavior when all search roots are removed

- UI, Cross-Platform Shell, Localization & Build (PRs ARahim3#15, ARahim3#20, ARahim3#37, ARahim3#39, ARahim3#58, ARahim3#65, ARahim3#74, ARahim3#81, ARahim3#84, ARahim3#112):
  * DigUpLocalization framework with en, zh-Hans, zh-Hant string catalogs
  * AppSearch engine and launcher for macOS App and Tauri desktop shells
  * KeyCommands and QuickLookController shared handling
  * Preserved search field text during IME composition
  * Search panel fade transitions and @observable code editor selection
  * Hardened build scripts with pinned SHA-256 vendor checksum verification
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.

2 participants