Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ancestorDepth is wrongly parsed as Integer on ETAPI #3510

Closed
Matapii opened this issue Jan 11, 2023 · 1 comment
Closed

ancestorDepth is wrongly parsed as Integer on ETAPI #3510

Matapii opened this issue Jan 11, 2023 · 1 comment

Comments

@Matapii
Copy link
Contributor

Matapii commented Jan 11, 2023

Trilium Version

0.57.5

What operating system are you using?

Other Linux

What is your setup?

Local + server sync

Operating System Version

Fedora 36

Description

On https://github.com/zadam/trilium/blob/master/src/etapi/notes.js#L153, ancestorDepth is assumed to be Integer when present. Further down, however, it is used as string here: https://github.com/zadam/trilium/blob/master/src/services/search/expressions/ancestor.js#L52

Thus, neither Integer nor String ancestorDepth will work on the ETAPI.

Error logs

ancestorDepth as string:

trilium_1  | ERROR: get /etapi/notes threw exception Cannot parse integer 'ancestorDepth' value 'eq1 with stacktrace: Error: Cannot parse integer 'ancestorDepth' value 'eq1
trilium_1  |     at parseInteger (/usr/src/app/src/etapi/notes.js:207:15)
trilium_1  |     at parseSearchParams (/usr/src/app/src/etapi/notes.js:153:26)
trilium_1  |     at /usr/src/app/src/etapi/notes.js:20:30
trilium_1  |     at Function.cb (/usr/src/app/src/etapi/etapi_utils.js:50:30)
trilium_1  |     at Function.sqliteTransaction (/usr/src/app/node_modules/better-sqlite3/lib/methods/transaction.js:65:24)
trilium_1  |     at Object.transactional (/usr/src/app/src/services/sql.js:236:52)
trilium_1  |     at /usr/src/app/src/etapi/etapi_utils.js:52:24
trilium_1  |     at /usr/src/app/node_modules/cls-hooked/context.js:118:13
trilium_1  |     at Namespace.run (/usr/src/app/node_modules/cls-hooked/context.js:97:5)
trilium_1  |     at Namespace.runAndReturn (/usr/src/app/node_modules/cls-hooked/context.js:117:8)

ancestorDepth as Integer:

trilium_1  | ERROR: get /etapi/notes threw exception depthCondition.substr is not a function with stacktrace: TypeError: depthCondition.substr is not a function
trilium_1  |     at AncestorExp.getComparator (/usr/src/app/src/services/search/expressions/ancestor.js:52:55)
trilium_1  |     at new AncestorExp (/usr/src/app/src/services/search/expressions/ancestor.js:14:45)
trilium_1  |     at parse (/usr/src/app/src/services/search/services/parse.js:422:85)
trilium_1  |     at parseQueryToExpression (/usr/src/app/src/services/search/services/search.js:202:24)
trilium_1  |     at Object.findResultsWithQuery (/usr/src/app/src/services/search/services/search.js:241:24)
trilium_1  |     at /usr/src/app/src/etapi/notes.js:23:45
trilium_1  |     at Function.cb (/usr/src/app/src/etapi/etapi_utils.js:50:30)
trilium_1  |     at Function.sqliteTransaction (/usr/src/app/node_modules/better-sqlite3/lib/methods/transaction.js:65:24)
trilium_1  |     at Object.transactional (/usr/src/app/src/services/sql.js:236:52)
trilium_1  |     at /usr/src/app/src/etapi/etapi_utils.js:52:24
@zadam
Copy link
Owner

zadam commented Jan 11, 2023

Thanks for reporting, fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants