* enhance: only autopair tilda when text is selected
* Enhance/editor string formatting e2e (#48)
* enhance(E2E): Test editor italic, bold, strikethrough and underline.
...
---------
Signed-off-by: Bad3r <bad3r@protonmail.com>
* fix: paste shape
* fix: test
* fix: test
* fix: test
* fix: test
* fix: test
* fix: add timeout to headings test
* fix: test
* fix: e2e test
* just another attempt to fix the tests
* fix; yet another test fix
* remove the inconsistent test
* revert test change
* revert unneeded change
---------
Co-authored-by: Gabriel Horner <97210743+logseq-cldwalker@users.noreply.github.com>
Added
1. All configurations of current graph.
App.getCurrentGraphConfigs: () => Promise<any>
2. All favorite pages list of current graph.
App.getCurrentGraphFavorites: () => Promise<Array<string> | null>
3. All recent pages list of current graph.
App.getCurrentGraphRecent: () => Promise<Array<string> | null>
4. Clear right sidebar blocks.
App.clearRightSidebarBlocks: (opts?: { close: boolean }) => void
5. Support register CodeMirror enhancer. #Experiment feature
Experiments.registerExtensionsEnhancer<T = any>(type: 'katex' | 'codemirror', enhancer: (v: T) => Promise<any>)
6. Support hooks for app search service. #Alpha stage
App.registerSearchService<T extends IPluginSearchServiceHooks>(s: T): void
7. Support focus option for App.insertBlock. Credit to [[tennox]] #PR
Fixed
1. Adjust build script to be compatible for shadow-cljs bundler.
How to set up a clojurescript project with shadow-cljs?
https://github.com/rlhk/logseq-url-plus/blob/main/doc/dev-notes.md
* Add data attribute to modals for testing
* Add several tests for moving cursor outside/within brackets
Update tests to be more reliable and DRYer
Rename action menu to autocomplete menu; fix test race condition
Rename 'action modal' to 'autocomplete menu'
* Check for being outside of brackets on every keyup
Remove dead code
Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
* 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
* 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>
* 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