Releases: ryan-manor/Obsidian-Seek
Release list
1.0.3
Full Changelog: 1.0.2...1.0.3
1.0.2
Code-quality release addressing the second round of Obsidian community plugin-review feedback. No user-visible change — search, indexing, and sync behave identically to 1.0.1.
Internal
- Replaced the remaining lint-rule suppressions with code that satisfies Obsidian's plugin guidelines directly (member access for per-device storage and the hidden compute frame, popout-safe globals); no
eslint-disablecomments remain in shipped code. - Switched the dev-only YAML test dependency to
yaml. - Added a local reproduction of the review's lint configuration so findings are caught before submission.
1.0.1
Compatibility and code-quality release addressing the Obsidian community plugin review. Search behavior is unchanged — the lexical/semantic ranking is byte-identical to 1.0.0.
Fixed
- Startup crash on iOS before 16.4: a regex feature unsupported by older WebKit prevented the plugin from loading at all on those devices.
- Popout-window support: timers and DOM access resolve against the correct window, and the hidden background compute frame and app-visibility tracking are anchored so they survive a popout opening or closing.
- iPad and Android tablets are now classified correctly for compute-backend selection.
Changed
- The search command id changed from
seek-searchtosearch(Obsidian namespaces it asseek:search). If you bound a custom hotkey to it, rebind it once.
Internal
- Obsidian plugin-guideline compliance: Platform API for device detection, popout-safe timers/DOM, vault-scoped storage where appropriate, typed worker/iframe messages, and dead-code removal. No user-visible search changes.
1.0.0
Initial public release. Seek is a hybrid (lexical + semantic) search plugin for Obsidian, built on a quantized, sync-friendly index that stays current across devices without re-embedding on each one.
Search & relevance
- Typed-value query filters: numeric comparison (e.g.
[price>50]) and date ranges (before:/after:). - Field-weight tuning from a fresh relevance evaluation — stronger body-content weighting and a higher dense-fusion weight for better-ranked results.
- Hardened the lexical coordination soft-AND so multi-term queries favor documents that match more of the query.
- Dense-channel hygiene: cleaner body and heading text, with cross-surface de-duplication before embedding.
- Converged tokenization across the surfaces that build, match, and enumerate terms.
Query filter menu
- The
[filter menu is keyed by property type and value shape: numeric keys show real note counts; date keys are surfaced throughbefore:/after:instead. - Recency defaults to the modified date, and the
before:/after:hints name the configured date field.
Sync & indexing
- Consent-gated reindex: a version-stale index warns and waits rather than silently rebuilding.
- A calm "syncing from another device" state when a newer index is arriving from a peer.
- Mobile catch-up indexing is batched (O(N²) → ~O(N)) and stable under a large backlog.
- Peer-ahead state survives an app relaunch, and mobile no longer grinds during catch-up.
Interface
- Search-modal keyboard, pointer, and link-handling polish; theme-proofed filter pills.
- The per-result score line is off by default.
Install: download main.js, manifest.json, and styles.css into <vault>/.obsidian/plugins/seek/, then enable Seek in Community Plugins.
0.0.1
Initial release of Seek — on-device hybrid semantic + lexical search for Obsidian. Fully client-side: no backend, no telemetry. Manual/BRAT install: place main.js, manifest.json, and styles.css into /.obsidian/plugins/seek/.