253 Commits

Author SHA1 Message Date
Elian Doran
897b896c11
chore(dx/server): fix vite interfering in production 2025-08-31 23:12:52 +03:00
Elian Doran
cf1180faa9
chore(dx/server): remove babel compacting for tiny gain in perf 2025-08-31 21:05:23 +03:00
Elian Doran
054c497678
chore(dx/client): improve startup speed by properly configuring middleware 2025-08-31 18:57:31 +03:00
Elian Doran
1dcb3b1529
chore(dx/server): set up cache for Vite 2025-08-31 18:28:20 +03:00
Elian Doran
cc474f39d8
chore(dx/server): basic middleware integration for vite 2025-08-31 18:24:02 +03: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
f7e77cd6cb
fix(auth): add missing TOTP verification for /login/token (#6823) 2025-08-30 14:08:10 +03:00
Elian Doran
753f1dc7b6
feat(react/widgets): sql table schemas 2025-08-29 17:14:27 +03:00
Elian Doran
735e91e636
feat(react/widgets): port sql_result 2025-08-29 16:10:37 +03:00
Nriver
93c9383a92 fix(auth): add missing TOTP verification for /login/token to align with /login 2025-08-29 11:13:50 +08:00
Elian Doran
a95e28c085
feat(react/floating_buttons): port backlinks 2025-08-28 18:35:37 +03:00
Elian Doran
b585a64a38
Merge remote-tracking branch 'origin/main' into react/note_context_aware 2025-08-24 12:05:05 +03:00
Adorian Doran
94ddad3c49 client/settings/disable backdrop effects: add an option to enable or disable backdrop effects 2025-08-23 01:15:00 +03:00
Adorian Doran
85dd99a3c4 client/settings/disable shadows: add an option to enable or disable shadows 2025-08-23 00:43:49 +03:00
Adorian Doran
3e3cc8c541 client/settings/disable motion: refactor 2025-08-23 00:19:26 +03:00
Adorian Doran
03681d23c5 client/settings/disable motion: add an option to allow transitions and animations to be disabled 2025-08-22 20:32:08 +03:00
Elian Doran
cc05572a35
feat(react/ribbon): port similar notes 2025-08-22 19:27:58 +03:00
Elian Doran
77551b1fed
feat(react/ribbon): port note info tab 2025-08-22 18:23:54 +03:00
Elian Doran
cee4714665
feat(react/ribbon): port edited notes 2025-08-22 17:31:15 +03:00
Elian Doran
8abd3ed3f1
feat(docs): implement swagger ui endpoint for internal api (#6719) 2025-08-20 21:36:21 +03:00
perf3ct
53ed510c92
feat(docs): remove old json api docs 2025-08-20 17:36:22 +00:00
perf3ct
f9a3606ca2
feat(docs): implement swagger ui endpoint for internal api 2025-08-20 17:11:54 +00:00
Elian Doran
c02ed17ebc
feat(react/settings): port change password 2025-08-15 14:19:49 +03:00
Elian Doran
6f19fde76e
feat(react/settings): port backup DB now 2025-08-15 12:52:59 +03:00
Elian Doran
c9dcbef014
feat(react/settings): port etapi tokens 2025-08-15 12:00:11 +03:00
Elian Doran
68086ec3f1
feat(react/settings): port sync test 2025-08-15 11:30:48 +03:00
Elian Doran
a04f6e3858
feat(react/settings): port integrity check 2025-08-14 22:40:54 +03:00
Elian Doran
6e37c9ee5a
feat(search): improve search weights and operators (#6536) 2025-08-13 13:10:30 +03:00
Elian Doran
bac048f60f
feat(call_to_action): allow dismissal 2025-08-12 19:37:32 +03:00
Elian Doran
bd6c690160
chore(react/dialog): improve recent changes 2025-08-07 22:31:51 +03:00
Elian Doran
edd18b53d0
refactor(react/dialogs): solve some type errors 2025-08-06 18:10:02 +03:00
Elian Doran
0af5feab79
refactor(react/dialogs): deduplicate data types 2025-08-06 17:11:01 +03:00
perf3ct
51a8937c64
feat(quick_search): also try to show the "matched" text in quick search results and not just note titles 2025-08-03 00:29:21 +00:00
Elian Doran
5d619131ec
fix(views/table): bulk actions sometimes not working 2025-07-19 12:44:55 +03:00
Elian Doran
e2c8443778
refactor(bulk_action): remake types & change method signature 2025-07-19 12:32:47 +03:00
Elian Doran
504a19275c
feat(views/table): basic renaming of fields 2025-07-15 21:48:16 +03:00
Elian Doran
8cced607eb
feat(views/table): insert row before 2025-07-13 14:10:37 +03:00
perf3ct
04c8f8a123
fix(api): implement better rate limiting controls for pre-auth endpoints 2025-07-06 16:19:08 +00:00
Elian Doran
4b86fedce1
Merge remote-tracking branch 'origin/main' into feature/table_view
; Conflicts:
;	pnpm-lock.yaml
2025-07-04 21:47:26 +03:00
Elian Doran
63520c55b3
Merge branch 'main' into feat/note-map-filter 2025-07-02 23:37:56 +03:00
Elian Doran
e155642ce4
Merge remote-tracking branch 'origin/main' into feature/table_view 2025-07-01 11:55:45 +03:00
Elian Doran
1f022aea4e
chore(rebrand): update GitHub repo in source files 2025-06-30 20:39:29 +03:00
Elian Doran
0fb0be4ffc
feat(views/table): actually add attributes 2025-06-27 22:43:29 +03:00
Kieran
9d99da14e1
feat(map): add mapIncludeRelation and mapExcludeRelation to include only or exclude specific relation types 2025-06-27 20:15:59 +01:00
Elian Doran
b7f5c0e07a
feat(mention): disable auto-completion 2025-06-23 23:20:51 +03:00
Elian Doran
3988bb5321
feat(emoji): disable auto-completion only 2025-06-23 22:40:57 +03:00
Elian Doran
ba94616b87
feat(emoji): add an option to disable them (closes #5852) 2025-06-23 22:10:41 +03:00
Elian Doran
a9f68f5487
feat(export/zip): add option to export with share theme 2025-06-23 18:13:47 +03:00
perf3ct
acd68817e9
feat(server): fix lint type errors for normalizing server URLs 2025-06-18 20:46:11 +00:00
perf3ct
0fe89115d1
feat(server): lint for trailing slashes in sync URL and extra slashes in customRequestHandler 2025-06-17 19:37:40 +00:00