Also fixed a dsl-query sorting bug where nil property values where
incorrectly being treated as greater than non-nil values. Also
fixed a bug where blocks with an explicit :block/created-at weren't
being set for sqlite-build
This PR also remove supports for:
1. merge pages when renaming a page to existing page
2. namespaces such as a/b/c
3. nested page such as [[a [[nested page]]]]
Pages merge might be added back depends on RTC, but it should be
decoupled from renaming, otherwise it's too complex.
Namespaces and nested pages have been contributed some critical bugs
that lead data-loss, they're so complex together with page alias,
it's just impossible to have a good test coverage and ensure the app
is stable, especially when page rename and RTC.
sort-by-queries test passes except for timestamps.
Had to introduce another query to resolve property uuids.
Made it as efficient as possible with datoms and pull.
Refactored load-test-files to support journal files and
allow page and block properties from one file
Generate :file/blocks from content thus allowing more tests to run
under db graph. Also loosened a couple query-dsl tests to pass
with db graphs without sacrificing test accuracy
- Also add sort-by support for pages which fixes#5643
- Add sort-by tests
- Fix sample producing weird queries e.g. mixed block and page clauses
- Clean up last, hard to read test setup in query-dsl
parser test caught page properties bug and dsl-query tests once written
correctly exposed another bug. Also remove unit test as they are
replaced by integration style tests in graph-parser-test
- Add tests for all *property dsl queries with and without new
config option
- Add tests for property persistence
- Add tests for property relationships
* enhance: clicking the refresh button if a query is slow
* fix: skip running slow queries if there's no need to refresh
* fix: linked reference filtering does not work on TASK items
close#1669
* fix: each block should have its own page as a reference when query page references
* fix: references
* fix: non consecutive blocks in query result and filtered linked references
* simplify filters logic
* fix: ref numbers
* Save both :block/refs and :block/path-refs for different usage
* fix: block refs
* enhance: move scheduled and deadlines to its own ns
* linked references performance tweaks
* mouse hover filters icon to expand the collapsed linked refs
* perf: react/refresh! once instead twice
* enhance: compute flashcards every hour instead of every 5s
* feat: macros as blocks
* feat: flashcards list
* fix: refed pages count
* fix: can't select in linked references
* fix: block editing on linked refs
* perf: editing in linked references
* enhance: update srs cards number when clicking flashcards
* Add a test for the case fixed in #6100
* Address feedbacks from Gabriel
* fix: Block Ref Indicator is missing from the references-blocks class
close#5375
* fix: referenced pages
* fix: page refs
* fix: Using filters pushed the title property to the second block
close#5845
Co-authored-by: Gabriel Horner <gabriel@logseq.com>
* 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 unused query' and when checks from custom-query
- Update bb command to use correct watch
- Provide $EXAMPLE mode in query dsl test to document rule usage
This is a follow up to #4434. I've now confirmed that all uses of
react/react-query benefit from an explicit exception as they will now
see an explicit error instead of 0 results which is confusing for the
user and harder for us to debug
- Removed counter and uniq-symbol as those are no longer needed
- build-query cleanly maps conditions to their fns
- Query dsl tests have been fully decoupled
- Each dsl test can load its own test data
- Refactored property and page-property tests to test accuracy
of each
- Also added humane-test-output to make diff easier to read when tests
fail
- Also fixed weird behavior of test runner that runs all tests when no
tests selected