Enhances the flashcard user experience by adding automatic query property management, fixing critical bugs, and improving the UI for managing card sets.
Key changes:
1. Automatic creation of query property blocks when tagging with #Query or subclasses via pipeline
2. Fixed critical bug in api-insert-new-block! where the end? parameter had inverted conditional logic
3. Added ability to create new #Cards blocks directly from the flashcard modal with a plus button
* fix(rtc): batch store and validate db
* fix: logseq.db/transact! shouldn't distinct tx-data
since move-op include 2 steps:
1. insert-block
2. update-attrs
This results in db invalid after step 1.
* refactor: add transact-with-temp-conn!
* bump nbb-logseq and add tests for ldb/transact* fns
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: rcmerci <rcmerci@gmail.com>
1. reuse old eids for block/uuid when apply-remote-ops
2. enhance: clear undo history when failed to validate db
Also, throw transact error from db worker
3. test(rtc): add timeout for wait-for cloud-idle
4. fix: rtc extra tests
5. enhance(test): retry new-block once when assert timeout
---------
Co-authored-by: rcmerci <rcmerci@gmail.com>
* enhance(ux): add/remove #Page to toggle page/block
* enhance(ux): "p t" to set tags for selected blocks
Updated "p a" to toggle displaying all properties including hidden ones.
* feat: cmd+k move blocks
* fix: block could be converted to page and create invalid nodes
Pages with block namespace parents is nonsensical and pages in
property values led to multiple validation errors. Also guard
against class and property pages as namespace parents
* fix: warn on failed cut+paste or indent/outdent of page blocks. Better to warn than silent failure which leaves user confused on
what happened.
---------
Co-authored-by: Gabriel Horner <gabriel@logseq.com>