11 Commits

Author SHA1 Message Date
perfectra1n
7be8b6c71e fix(fts): merge the two migrations into one file 2025-11-28 21:27:01 -08:00
perf3ct
10988095c2
feat(search): get the correct comparison and rice out the fts5 search
Some checks failed
Checks / main (push) Has been cancelled
2025-10-27 14:37:44 -07:00
perf3ct
58c225237c
feat(search): try a ground-up sqlite search approach 2025-09-03 00:34:55 +00:00
perf3ct
1db4971da6
feat(search): implement FST5 w/ sqlite for faster and better searching
feat(search): don't limit the number of blobs to put in virtual tables

fix(search): improve FTS triggers to handle all SQL operations correctly

The root cause of FTS index issues during import was that database triggers
weren't properly handling all SQL operations, particularly upsert operations
(INSERT ... ON CONFLICT ... DO UPDATE) that are commonly used during imports.

Key improvements:
- Fixed INSERT trigger to handle INSERT OR REPLACE operations
- Updated UPDATE trigger to fire on ANY change (not just specific columns)
- Improved blob triggers to use INSERT OR REPLACE for atomic updates
- Added proper handling for notes created before their blobs (import scenario)
- Added triggers for protection state changes
- All triggers now use LEFT JOIN to handle missing blobs gracefully

This ensures the FTS index stays synchronized even when:
- Entity events are disabled during import
- Notes are re-imported (upsert operations)
- Blobs are deduplicated across notes
- Notes are created before their content blobs

The solution works entirely at the database level through triggers,
removing the need for application-level workarounds.

fix(search): consolidate FTS trigger fixes into migration 234

- Merged improved trigger logic from migration 235 into 234
- Deleted unnecessary migration 235 since DB version is still 234
- Ensures triggers handle all SQL operations (INSERT OR REPLACE, upserts)
- Fixes FTS indexing for imported notes by handling missing blobs
- Schema.sql and migration 234 now have identical trigger implementations
2025-08-30 20:39:40 +00:00
Elian Doran
b645d21fcd
refactor(client): deduplicate app info type 2025-08-03 16:22:54 +03:00
Elian Doran
f5a6dfa629
feat(views/geomap): migrate db to new collection type 2025-07-06 20:17:15 +03:00
perf3ct
b6b88dff86
fix(server): increment SYNC_VERSION and APP_DB_VERSION for LLM embeddings removal 2025-06-07 21:13:02 +00:00
Elian Doran
ec39667cba
feat(server/session): update database to hold session information 2025-05-16 23:07:23 +03:00
Elian Doran
b2af043110
chore(nx/server): move source code 2025-04-22 17:16:41 +03:00
Elian Doran
62dbcc0a2e
chore(nx): move all monorepo-style in subfolder for processing 2025-04-22 10:06:06 +03:00
Elian Doran
5058891af8
chore(monorepo/server): move server-side source code 2025-04-18 12:09:56 +03:00