Full-text search, highlights and assets alias support
It also exposes a plugin API for highlight context menu
```ts
/**
* Current it's only available for pdf viewer
* @param label - displayed name of command
* @param action - callback for the clickable item
* @param opts - clearSelection: clear highlight selection when callback invoked
*/
registerHighlightContextMenuItem: (
label: string,
action: SimpleCommandCallback,
opts?: {
clearSelection: boolean
}
) => unknown
```
* fix: state shouldn't be returned in ipc
* feat: download && upload processing
* enhance(ui): interaction of show password checkbox
* feat: time left
* feat: download progress
* Set download batch size to 100
* improve(ui): progress pane of file sync indicator
* improve(ui): progress pie of each file state
* improve(ui): progress pie of each file state
* improve(ui): progress pie of each downloading file
* fix: add last changed time
* enhance: time left
* fix: total needs to be larger than finished
* fix: wait for update-graphs-txid!
* enhance: show in-progress files first
* chore: ui polish
* improve(ui): persist stauts of sync files list toggle switch
* fix(ui): visibility of sync now button on mobile
* chore: remove ios static out after sync
* fix: debounce clicking on sync icon
* fix: repos not refreshed after unlink or delete
* enhance: automatically save page-metadata.edn to avoid sync when restart
* improve(ui): sync now shortcut for file sync progress pane
* enhance: data transfer icons
* fix: stop sync if switched to another graph
* fix: can't switch
* enhance: sort files first before uploading or downloading
* fix: clear current graph uuid when sync stops
* fix: separate progress by graphs
* fix: check files only in the current progress
* fix: prevent multiple sync managers for the same graph
* fix: remove redundant files watchers
* enhance(sync): re-exec remote->local-full-sync when exception
re-exec remote->local-full-sync when <update-local-files return exceptions
* enhance(sync): re-exec remote->local-full-sync when exception
re-exec remote->local-full-sync when <update-local-files return exceptions
* fix(sync): set-progress-callback, update rsapi
* fix(sync): uploading progress bar
Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
Co-authored-by: charlie <xyhp915@qq.com>
Co-authored-by: rcmerci <rcmerci@gmail.com>