Commit Graph

472 Commits

Author SHA1 Message Date
YuNing Chen
0ebe903bb9 perf: combine token split into 1 pass (#427) 2025-01-03 12:27:19 +01:00
YuNing Chen
c4fa419aa0 perf: move regexp outside func to avoid repeated construction (#430) 2025-01-03 12:25:49 +01:00
YuNing Chen
e272aeabef chore: better key label display for cmd and alt in macos (#428) 2025-01-03 12:24:01 +01:00
Simon Cambier
351dc30523 Fixed #418 2024-12-01 16:02:13 +01:00
Simon Cambier
ca3ca3b24b Small logging refactoring
Most logs are now console.debug
Removed "Omnisearch" prefix in (almost) all logs
Removed timestamp prefix
2024-11-09 17:46:48 +01:00
Bao
1c98d8b2d7 Fix uncaught exceptions (#414)
* Fix handling of folders on create trigger

When creating a directory in the vault, omnisearch attempts to index the directory as a document

`on('create', (file) => any, ...)` is triggered for both files and directories, so any triggers on `create` should handle the case where `file` is a `TFolder`.[^1]

[^1]: https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('create')

For example, after running `mkdir foobar` in the vault directory, the
following exception is thrown:

```stacktrace
documents-repository.ts:53 Omnisearch: Error while adding "foobar" to live cache Error: Not a TFile: "foobar"
    at DocumentsRepository.getAndMapIndexedDocument (documents-repository.ts:85:41)
    at DocumentsRepository.addDocument (documents-repository.ts:43:30)
    at DocumentsRepository.getDocument (documents-repository.ts:69:16)
    at eval (search-engine.ts:82:63)
    at Array.map (<anonymous>)
    at SearchEngine.addFromPaths (search-engine.ts:81:15)
    at eval (main.ts:114:26)
    at e.tryTrigger (app.js:1:723011)
    at e.trigger (app.js:1:722944)
    at t.trigger (app.js:1:741049)
```

* Fix handling of empty canvas files

Canvas files can be empty. e.g. when the "Create new canvas" command is called:

- immediately after the command:
  - a new *empty* .canvas file will be created
  - triggering the `create` event and causing a "Unexpected end of JSON input" error
- when saving the file (<cmd/ctrl>+s or "Save current file" command):
  - `{}` will be written to the file
  - triggering a file `modify` event and causing a "canvas.nodes is not iterable" exception

Examples of the exceptions:

```stacktrace
documents-repository.ts:53 Omnisearch: Error while adding "Untitled.canvas" to live cache SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at DocumentsRepository.getAndMapIndexedDocument (documents-repository.ts:100:27)
    at async DocumentsRepository.addDocument (documents-repository.ts:43:19)
    at async DocumentsRepository.getDocument (documents-repository.ts:69:5)
    at async eval (search-engine.ts:82:25)
    at async Promise.all (index 0)
    at async SearchEngine.addFromPaths (search-engine.ts:80:7)
```

```stacktrace
documents-repository.ts:53 Omnisearch: Error while adding "Untitled.canvas" to live cache TypeError: canvas.nodes is not iterable
    at DocumentsRepository.getAndMapIndexedDocument (documents-repository.ts:103:33)
    at async DocumentsRepository.addDocument (documents-repository.ts:43:19)
    at async NotesIndexer.refreshIndex (notes-indexer.ts:29:7)
```
2024-11-05 18:40:58 +01:00
Simon Cambier
efd99b67a0 small fixes 2024-10-26 11:07:21 +02:00
Simon Cambier
7d7902ec9d Warn when too many errors in a short time 2024-10-13 18:44:22 +02:00
Simon Cambier
fc19f96dfd Renamed CacheManager to DocumentsRepository 2024-10-13 18:16:25 +02:00
Simon Cambier
e2962ec021 Refactored relevant methods to SearchHistory 2024-10-13 18:01:40 +02:00
Simon Cambier
0c41d48963 escape html for external strings 2024-10-08 20:46:12 +02:00
Simon Cambier
9f0c460161 Fixed css classes names 2024-10-08 20:45:34 +02:00
acrylicus
e9faa24369 Added support for Iconize plugin (#405)
* 1.25.0-beta.1 manifest

* chore: manifest 1.25.0-beta.2

* Added support for Iconize plugin

* Adjusted logic to fallback to generic icon if nothing found & added supported for Lucide Icon

* Added support for Emojis (thanks ChatGPT)

* Added dynamic updating of icons to match search results

* Moved icon logic to tools/iconUtils.ts, cleaned up ResultItemVault.svelte

* Moved icon logic to tools/iconUtils.ts, cleaned up ResultItemVault.svelte

* Prettified code and fixed case where CamelCase lucideicons do not render in search results

* Refactored code to check for Iconize plugin enablement, rehandled errors, minor tidy ups and utilization of native obsidian functions

* Minor touchups and improvements, removed unecessary error logging, consolidated LucideIcon prefix code

* Null return for no iconize condition

---------

Co-authored-by: Simon Cambier <simon.cambier@protonmail.com>
2024-10-08 20:27:01 +02:00
Simon Cambier
a4352c365c Fixed embeds injection in results 2024-10-08 17:13:04 +02:00
Simon Cambier
24ee6675c4 Weights are now ranged 0-10 (instead of 0-5) 2024-10-02 18:21:30 +02:00
Simon Cambier
372e40fe74 feat(#245): added a setting to determine how many embeds references to display in results 2024-09-27 13:53:57 +02:00
Simon Cambier
983fa2120b fix(#245): correctly update embeds on fs events 2024-09-27 13:53:30 +02:00
Simon Cambier
10721601b1 ffs typescript. 2024-09-25 20:52:02 +02:00
Simon Cambier
1b442d1f24 feat(#245): in results list, show where an image/pdf is embedded
* Add an index of embeds for reference in results

* Notes embedding images are now shown in results

* Updated dependencies

* Correctly referencing all embeds

* Updated docs

* Basic embedded feature ok
2024-09-25 20:47:27 +02:00
Simon Cambier
43dd1f469e chore: deps update and fixed some import paths 2024-09-15 16:39:20 +02:00
Simon Cambier
490c2811ab Merge branch 'master' of github.com:scambier/obsidian-omnisearch 2024-08-13 19:06:31 +02:00
Simon Cambier
34e7f378da fix: on mobile, added a delay before showing the keyboard #345 2024-08-13 18:55:08 +02:00
Swaggeroo
e9869758b5 Bug fix / Refactor Added Ai Image Analyzer Text again and removed unnecessary var indexingDesc (#388) 2024-08-13 18:32:30 +02:00
Simon Cambier
439150a1f0 fix: tentative workaround for #383 2024-07-31 11:17:35 +02:00
Simon Cambier
5bc393e3ca Merge branch 'master' into develop
# Conflicts:
#	src/settings.ts
2024-07-23 09:56:31 +02:00
Swaggeroo
58cc6400e8 Added Ai Image Analyzer support (#386)
* Added Ai Image Analyzer support

* removed unnecessary null check
2024-07-23 09:51:43 +02:00
Simon Cambier
38c964bec2 feat: Make any property of frontmatter a display name (#329) 2024-06-29 17:02:11 +02:00
Simon Cambier
94d687aeaa fix: missing the new arabic diacritics settings in a few places (#373) 2024-06-29 16:51:16 +02:00
Simon Cambier
1d64ca52cc fix: using a debounced function to clear the cache when triggered by a text field 2024-06-29 16:14:02 +02:00
Simon Cambier
da161b8ffe chore: cleaned up html descriptions in settings 2024-06-29 16:04:30 +02:00
Simon Cambier
3611884bc5 #349 - Added a "danger" setting to disable the cache killswitch 2024-06-27 21:25:06 +02:00
Simon Cambier
87d2085fda #373 - Arabic diacritics 2024-06-27 21:00:18 +02:00
Simon Cambier
85a23d8352 #380 - Replaced alt+o with ctrl+o for "open in background" 2024-06-27 20:33:49 +02:00
Simon Cambier
074a96fcff Show "dashboard" icon for excalidraw files 2024-06-20 18:34:54 +02:00
Simon Cambier
6cd777ea73 Fixed notice 2024-06-16 20:22:48 +02:00
Simon Cambier
59cfd877ae Don't needlessly refresh the live cache 2024-06-11 07:03:49 +02:00
Simon Cambier
2f6e25ce47 Don't needlessly refresh the live cache 2024-06-07 12:30:00 +02:00
Simon Cambier
48b694d358 "Negative" weights for custom fields 2024-05-29 21:21:55 +02:00
Simon Cambier
79bcc671b2 Merge branch 'develop' 2024-05-29 18:58:58 +02:00
Simon Cambier
0b70cbeb16 WIP indexing non-existing docs 2024-05-26 18:05:10 +02:00
Simon Cambier
85b7810d07 Renamed and reorganized some objets & methods 2024-05-26 17:39:31 +02:00
Simon Cambier
14c1dac8c8 Fixed binding 2024-05-26 17:36:43 +02:00
Simon Cambier
1e2df5e82a Renamed "Omnisearch" into "SearchEngine" 2024-05-25 23:07:34 +02:00
Simon Cambier
efdfbbcf8a #374 - private setting to change the HTTP host 2024-05-25 23:01:43 +02:00
Simon Cambier
6566a2e958 Massive refactor to get rid of the global app. 2024-05-25 22:49:50 +02:00
Simon Cambier
5f5417f0ff #134 - Async loading of minisearch cache
Using a custom build of minisearch
2024-05-23 21:38:46 +02:00
Simon Cambier
dcfb77f551 Massive refactoring to get rid of the deprecated global app instance 2024-05-21 21:13:35 +02:00
Simon Cambier
a370041e2f Quick hack for global app 2024-05-18 22:59:45 +02:00
Simon Cambier
482a66eac0 Quick hack for global app 2024-05-18 22:55:33 +02:00
Simon Cambier
5010a47466 Cleaned global app warnings 2024-05-18 09:52:28 +02:00