* 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
* Add outliner nested transact!
Copied the code mostly from https://github.com/logseq/logseq/pull/4671
by zhiyuan
* refactor: insert-blocks
* fix: insert-blocks
* fix: move cursor to the last block when inserting
* fix: replace the current block when inserting and its content is empty
* keep only :insert-blocks
* expose only :delete-blocks
* Use existing implementations for move-nodes-up-down and
indent/outdent.
* fix editing state not updated immediately
* fix editing status
* fix: avoid recursive copy
* fix: inserting blocks after an empty block
* Implement move-blocks with insert-blocks
* fix: block left
* Implement move-blocks-up-down with move-blocks
* fix: paste text
* Implement indent-outdent-blocks with move-blocks
* fix: indent/outdent
* feat: multiple blocks drag && drop
* fix: indent/outdent blocks
* fix: drag drop
* Port unit tests for outliner.core
* enhance: open collapsed parent when indenting blocks
* refactor: block selection
* fix: indent/outdent blocks with different levels
* Add instrument on invalid outliner structure
* fix: can't write a block if the page has any outdated blocks
* fix: editing status for empty page
* fix: multiple drag & drop
* fix: drag & drop disallows moving from parents to its child
* fix: public property
* fix: can't delete first empty block
* Remove unused code
* fix: e2e tests
A workaround is to not select/highlight the block when pressing esc if it has
fenced code.
* remove unused code
* Add batch transaction test
* fix: update :block/page when dragging targets' children to another page
* Add more tests
* Simplify extract
* Replace db/get-conn with db/get-db
* Simplify extracting blocks from ast
* Code cleanup
* Code cleanup
* Add outliner core fuzzy tests
* Remove unused code
* fix: cursor not jump to the upper block when pressing Enter in the beginning
* fix: Enter in the beginning of a non-empty block
* Fix lint warnings
* Add editor random e2e tests
* Fix typo
* enhance: move some fns and add some comments
* enhance(outliner): add page-block? util
* fix: increase td width to prevent content overflow
Signed-off-by: Yue Yang <g1enyy0ung@gmail.com>
* First pass at file tests for file-sync
Each action usually passes by 5th try
* Fix two incorrect calls caught by tests
* More test improvements
- Easier auth setup
- subdirectory is configurable
- list graphs api also exercised
* Address cleanup from #3839
- Remove unused translation key
- Delete or TODO commented code
- Capitalize notifications to users
* fix quick capture template not working
* enhance(sync): add logout
* enhance: add logout i18n
* fix(plugin): sometimes plugin settings of gui not work when entry from app settings
* enable show-brackets? toggle for orgmode [[file:./pages/demo.org][demo]]
* fix(sync): fix unfinishable sync loop
* feature: logseq protocol; refactor persistGraph
* fix: deeplink support
* fix: broadcast persist graph on opening new graph with logseq protocol
* feat: logseq protocol open action for page-name and uuid
* fix: logseq protocol graph param validation
* ux: copy logseq URL of block
* enhance: remove the redundant 'open' from logseq protocol (v0.1)
* ux: page dropdown button for copy page URL
* chore: logseq protocol comments
* don't create new contents file when changing format
Logseq now creates a new contents file when users try to toggle the
preferred format, which causes file duplications error.
* fix pasting in src block not working on iOS
close https://github.com/logseq/logseq/issues/4914
* fix playing video goes into editing mode on iOS
* fix copy to clipboard failure on iOS
* add Podfile item
* fix mobile toolbar order not persisting after restart
* test(e2e): add test for backspace and cursor pos (#4896)
* test(e2e): add test for backspace and cursor pos
* fix(test): refine, fix wrong helper
* fix(ui): warn about illegal git commit interval
* enhance(editor): allow global git cmd shortcut
* style(settings): line-space of general/journals
* enhance(editor): accept enter in dummy block
Fix#4931
* fix editing state not updated immediately
* fix: can't write a block if the page has any outdated blocks
TODO: clean outdated blocks
* fix: editing status for empty page
* Random tree for outliner core tests
* Add pre assertions and fn docs based on Zhiyuan's suggestions
* Made some changes based on Gabriel's suggestions
* fix: tests
* fix: save current block before moving
* Updated the timeout to 100ms based on llcc's suggestion
https://github.com/logseq/logseq/pull/4880#discussion_r851966301
* api-insert-new-block! supports replace-empty-target?
* fix: replace all :reuse-last-block? usage
Co-authored-by: rcmerci <rcmerci@gmail.com>
Co-authored-by: Yue Yang <g1enyy0ung@gmail.com>
Co-authored-by: Gabriel Horner <gabriel@logseq.com>
Co-authored-by: llcc <lzhes43@gmail.com>
Co-authored-by: charlie <xyhp915@qq.com>
Co-authored-by: Junyi Du <junyidu.cn@gmail.com>
Co-authored-by: Andelf <andelf@gmail.com>
* Remove expensive parsing when saving files
* Add limit to page blocks query
* Don't collapse block's body to make it compatible with other tools
* Alert if there're unsaved changes when switching graphs
* DB schema migration for :block/collapsed? from it's property
Co-authored-by: Andelf <andelf@gmail.com>
* feat: add a secret global flag to load graph from a user defined dir
* fix: use LOGSEQ_OVERWRITE_OPEN_DIR env var to overwrite the openning graph dir
* e2e: add a test for load & check saved graph data
* fix: should also pass in process.env for testing fixtures
* feat: new way to set open dir folder
* fix: e2e
* fix: remove playwright global flag check
Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
* improve(ui): [WIP] refactor left sidebar component
* improve(ui): [WIP] refactor left sidebar component
* improve(ui): polish left sidebar for mobile
* improve(ui): polish left sidebar for mobile native
* fix: unnecessary stateful component
* improve(ui): tweak padding inner left sidebar
* fix(tests): update tests
* fix(ui): close left sidebar when create page on sm breakpoint
* improve(ui): tweak `--ls-left-sidebar-sm-width` to 70%
* fix(ui): overlap between left sidebar and toolbar right area on mobile