* appimage test
* add mimeType option
* transfer fork to logseq
* appimage test
* add mimeType option
* transfer fork to logseq
* add package name
* fix: product name
Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
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>
* enhance(ui): polish elements of left sidebar
* enhance(ui): active state of nav item from left sidebar
* enhance(ui): active state of nav item from left sidebar
* enhance(ui): WIP quick tour tips
* enhance(ui): WIP quick tour tips
* enhance(ui): WIP quick tour tips
* enhance(ux): add quick tour palette command
* enhance(ui): add step dots for quick tour tips
* enhance(ux): title hints for sidebar link items
* fix(ui): active state for journals from left sidebar
* enhance(ux): support quick tour command when initial app
* fix(ui): position of journal page quick tour tip box
* fix: cljs lint
* fix: remove unused method
* fix(e2e): e2e test for new left sidebar
* improve(plugin): WIP add settings schema
* improve(plugin): add identity for settings modal
* improve(plugin): WIP add settings input
* fix(ui): scrollbar overlay of modal panel content
* improve(plugin): WIP add more render types of setting item
* improve(plugin): WIP polish settings items
* improve(plugin): WIP settings list of plugins
* improve(plugin): more settings types & polish releated ui
* fix(plugin): sometimes disable plugin not work
* improve(plugin): polish ui of plugin settings
* fix(dev): warning of lint
* improve(plugin): add api of settings changed
* chore: build libs core
* fix(ui): width of settings panel wrap
* improve(plugin): separate layouts data from settings aio file
* imporve(plugin): container size of single plugin settings
* fix: add missing state
* improve(plugin): add Git ns
* improve(plugin): git related api
* improve(api): type of git result
* chore: build libs core
* fix(dev): kondo lint
* fix(plugin): use cdn sdk when js entry
* chore: build libs core
* fix(plugin): env condition
* improve(plugin): add UI ns
* fix(api): arguments of datascript query
* enhance(api): manageable message instance of UI tools
* enhance(api): WIP add experiments api
* enhance(api): WIP add resources state of plugin
* improve(plugin): add status of loading script resources
* improve(plugin): more opts for script loader
* improve(plugin): WIP add fenced code renderer hook
* improve(plugin): fenced code renderer hook
* fix(plugin): resource root path of plugin fs location
* imporve(plugin): support local files for loading scripts
* improve(plugin): types of expirements api
* fix: typo of class
* enhance(api): add namespace related apis
* enhance(api): add linked refrences related apis
* enhance(plugin): add sample links to related api comments
* improve(plugin): add db changed hook & optimize strategy of caller for hooks
* improve(plugin): compatible commands registration for old sdk
* improve(plugin): collect user sdk version for plugin local
* improve(plugin): add internal callable apis for user sdk
* chore(plugin): missing files & bump libs version
* improve(plugin): compatiable for old sdk about hook messaging optimization
* improve(plugin): db hook optimization for old sdk
* enhance(ux): auto focus searchbar when open plugins list
* improve(plugin): api of a hook from specific block changed event
* improve(plugin): api of db block change hook
* improve(plugin): add show bracket user config of api
* improve(plugin): api of db block change hook
* fix(api): toggle collapsed of block
* improve(api): try to init grpah with git before exec git commands
* improve(plugin): attributes of sandbox container
* improve(dev): support register command with keybinding
* improve(plugin): add api of register shortcut command
* fix(plugin): reubild slash commands when new command registration
* fix(dev): lint
* improve(dev): lint script of libs codebase
* chore(dev): remove useless codes
* improve(plugin):sanitize path string of plugin repo value
* fix(plugin): rebuild commands list when unregister a plugin
* fix(ui): overflow width of query result table
* chore: rebuild libs core
* improve(plugin): add assets related apis
* chore: rebuild libs core
* improve(plugin): support replace state of into block in page api
* improve(plugin): prepend/append child block in page
* improve(plugin): polished exceptions message of plugin update/install
* fix(plugin): update settings within gui
* improve(ux): debounce change event of input for plugin settings gui
* chore: rebuild libs core
* enhance(plugin): catch exception of hook plugin
* feat(audio): render audio link as component
* refactor frontend/component/block/inline
* fix audio component on mobile
* Fix(iOS): allow clock to replay audio
* feat(mobile): audio record
* add permission request code on record
* rename `editor/recording?` to `editor/record-status`
* move `get-asset-path` into handler/editor.cljs
* add android settings
* support sharing audio file from some apps
* enhance(record): insert audio link in a new block if non-editing
* feat(audio): allow cancelling record
* fix lints
* feat(iOS): add a tab bar
* tweak some css on mobile
* fix lints
* fix https://github.com/logseq/logseq/issues/4798
* enable tab bar on Android
* fix landscape height of tab bar
* add :reuse-last-block? option
* dont't show tab bar when editing mirror code
* tweak code-editor css
* increase width for more functional buttons
* fix card preview css on iPad
* add document-mode to tab bar
* remove tabbar when editing code and tweak textarea resize cursor behavior
* reduce SplashScreen launch screen duration
* don't show tabbar when editing page title
* enhance: float timer
* fix lint
* fix tabbar height on iPhone without notch
* remove .embed-page width
* fix lint
Co-authored-by: Andelf <andelf@gmail.com>
Previously, files are backuped to logseq/bak when logseq detects
there're differences between the db and disk. But it has two problems:
1. Only a few of users know `logseq/bak`, other users think that their
data has been lost.
2. Files in the logseq/bak folder are never truncated.
This PR backups old file in DB with timestamp suffixes instead of
logesq/bak, and only keep the latest 10 versions of any changed file.