* Fix re-running e2e tests when it reuses old app instances
I'm not certain this doesn't break things for other OSes/setups, but it was required for e2e tests to run after the first time I ran them. It keeps a list of all previous (now missing) graphs in the sidebar, and this flow properly causes the new one to be selected, where the old flow did not match what the UI was doing anymore.
* Add e2e test for quickly pasting blocks after editing new blocks
* Fix pasting quickly after editing a new block
* Remove "test.only" focus
* Fix clicking add button in first test by closing error notification
* Improve some flaky race conditions in tests
* Remove unrelated waits in E2E tests
* Update playwright version; update tests to match
* Fix logic for checking if there are unsaved edits
* Fix typescript complaints
* Reduce how long we wait after closing each error popup
* 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>