Commit Graph

3233 Commits

Author SHA1 Message Date
perf3ct
21aaec2c38 feat(search): also fix tests for new fts functionality 2025-08-30 20:48:42 +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
Antonio Liccardo (TuxmAL)
255ad96c8b Translated using Weblate (Italian)
Currently translated at 12.9% (202 of 1565 strings)

Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/it/
2025-08-28 20:52:03 +02:00
Kuzma Simonov
a12fa1177b Translated using Weblate (Russian)
Currently translated at 100.0% (1565 of 1565 strings)

Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/ru/
2025-08-28 20:52:02 +02:00
rodrigomescua
6fa7cc8201 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (378 of 378 strings)

Translation: Trilium Notes/Server
Translate-URL: https://hosted.weblate.org/projects/trilium/server/pt_BR/
2025-08-28 20:52:02 +02:00
Newcomer1989
2fff5418a9 Translated using Weblate (German)
Currently translated at 100.0% (378 of 378 strings)

Translation: Trilium Notes/Server
Translate-URL: https://hosted.weblate.org/projects/trilium/server/de/
2025-08-28 20:52:01 +02:00
rodrigomescua
2e805cd5a3 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1565 of 1565 strings)

Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/pt_BR/
2025-08-28 20:52:00 +02:00
Newcomer1989
61eaa89de6 Translated using Weblate (German)
Currently translated at 100.0% (1565 of 1565 strings)

Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/de/
2025-08-28 20:51:59 +02:00
Elian Doran
aa0c021f8b Theme tweaks (#6783) 2025-08-28 21:51:52 +03:00
Elian Doran
88bbc7e8c1 Port floating buttons to React (#6811) 2025-08-28 21:01:43 +03:00
Elian Doran
af0ba32dd9 chore(react/floating_buttons): fix wrong import of fnote 2025-08-28 20:28:55 +03:00
Elian Doran
938d295bf3 chore(react/floating_buttons): fix type error 2025-08-28 20:13:55 +03:00
Elian Doran
f82667066f feat(react/floating_buttons): add mobile support 2025-08-28 20:10:21 +03:00
Elian Doran
03a7fe1282 fix(react/floating_buttons): react to note type/mime changes 2025-08-28 20:04:47 +03:00
Elian Doran
0c0504ffd1 refactor(react/floating_buttons): use enabled at component level 2025-08-28 19:56:53 +03:00
Elian Doran
e4900ce87b fix(react/floating_buttons): style differences from original 2025-08-28 19:12:26 +03:00
Elian Doran
04de87722b fix(react/floating_buttons): backlinks affecting show/hide button 2025-08-28 19:05:30 +03:00
Elian Doran
a95e28c085 feat(react/floating_buttons): port backlinks 2025-08-28 18:35:37 +03:00
renovate[bot]
f24a3442fb fix(deps): update dependency marked to v16.2.1 2025-08-28 05:05:28 +00:00
Elian Doran
3b96b5779b fix(deps): update dependency dayjs to v1.11.14 (#6814) 2025-08-28 08:02:48 +03:00
renovate[bot]
0522024f6d chore(deps): update dependency electron to v37.4.0 2025-08-28 02:54:57 +00:00
renovate[bot]
f27f135a61 fix(deps): update dependency dayjs to v1.11.14 2025-08-28 02:53:40 +00:00
Elian Doran
1766d28fc2 feat(react/floating_buttons): port show/hide 2025-08-28 00:44:18 +03:00
Elian Doran
f51d944bb3 feat(react/floating_buttons): port in-app help button 2025-08-28 00:23:00 +03:00
Elian Doran
cabe240e7e refactor(react/floating_buttons): split into two buttons 2025-08-28 00:06:40 +03:00
Elian Doran
e72fb39c4d feat(react/floating_buttons): port PNG/SVG export buttons 2025-08-28 00:02:02 +03:00
Elian Doran
0ca30e0e87 feat(react/floating_buttons): port copy image reference 2025-08-27 23:57:33 +03:00
Elian Doran
cc362393be chore(react/floating_buttons): port geo map buttons 2025-08-27 23:45:51 +03:00
Elian Doran
40bfd827d2 chore(react/floating_buttons): improve sizing 2025-08-27 23:36:50 +03:00
Elian Doran
a4046fbf6e feat(react/floating_buttons): port relation map buttons 2025-08-27 23:33:07 +03:00
Elian Doran
28605f2687 feat(react/floating_buttons): fancy title + keyboard shortcut 2025-08-27 23:20:19 +03:00
Elian Doran
2085d1bbba feat(react/floating_buttons): port save to note button 2025-08-27 23:14:25 +03:00
Elian Doran
08db03800e feat(react/floating_buttons): port open Trilium API docs 2025-08-27 22:59:07 +03:00
Elian Doran
04b7e0cde9 feat(react/floating_buttons): port execute note button 2025-08-27 22:54:05 +03:00
Elian Doran
401260d3ca feat(react/floating_buttons): port highlights list 2025-08-27 22:47:20 +03:00
Elian Doran
53e0c05290 feat(react/floating_buttons): port toc 2025-08-27 22:44:11 +03:00
Elian Doran
cdbb89482e feat(react/floating_buttons): port edit button 2025-08-27 22:33:36 +03:00
Elian Doran
e290635ba5 feat(react/floating_buttons): port toggle read only button 2025-08-27 22:09:00 +03:00
Elian Doran
e340e6f5e3 feat(react/floating_buttons): port switch split orientation 2025-08-27 21:56:02 +03:00
Elian Doran
2d950e8f3a refactor(react/floating_buttons): use component-driven approach 2025-08-27 21:37:48 +03:00
Elian Doran
4c70d72ba2 feat(react/floating_buttons): port refresh button 2025-08-27 21:29:49 +03:00
Elian Doran
80edc4c4e0 feat(react): base structure for floating buttons 2025-08-27 21:15:54 +03:00
Adorian Doran
4d07a1aab6 client/quick search results: add a whitespace between attributes 2025-08-27 20:51:12 +03:00
Adorian Doran
e2cd357319 style/quick search results: customize the highlight color 2025-08-27 20:51:12 +03:00
Adorian Doran
620b57bfa6 style/quick search results: refactor 2025-08-27 20:51:12 +03:00
Adorian Doran
934c9d3df8 style/quick search results: improve appearance 2025-08-27 20:51:12 +03:00
Adorian Doran
f034e8bb37 style/quick search results: tweak layout 2025-08-27 20:51:12 +03:00
Adorian Doran
93f80c6837 client/quick search: extract inline styles 2025-08-27 20:51:12 +03:00
Adorian Doran
a54177fee0 style(legacy)/checkboxes and radios: add a gap between the tickbox and the label 2025-08-27 20:51:12 +03:00
Adorian Doran
0e6ad42923 style: fix button class 2025-08-27 20:51:12 +03:00