This pull request refactors the plugin library infrastructure and adds new experimental features for hosted/sidebar renderers. The main changes include:
Purpose: Refactor plugin communication library (Postmate) to support MessageChannel for improved performance, add support for hosted/sidebar renderers in plugins, add new debug APIs, and consolidate helper functions.
Changes:
Added MessageChannel support to Postmate for optimized plugin-host communication with backward compatibility
Introduced hosted renderer and sidebar renderer APIs for plugins to register custom UI components
Added new app APIs: get_current_route, export_debug_log_db, reset_debug_log_db
Refactored helper functions from helpers.ts to common.ts and updated all import paths
Extended block property APIs to include class properties with default values
Added comprehensive documentation for experiments APIs and plugin development
Added E2E test for plugin marketplace installation
Version bump from 0.2.12 to 0.3.1
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
* 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>
* feat: quick add
* enhance(ux): auto open block for editing for quick add
* enhance(ux): show notification after quick add
* add migration for quick add page