when an ambiguous page is given instead of erroring to ask for the
specific page. Like dd6b8975c7, there are still several
paths where we incorrectly assume :block/name is unique (and don't
take into account recyling). This commit fixed the following options:
* upsert block --target-page
* upsert task --target-page
* upsert asset --target-page
* upsert page --page
There are still two bugs where ambiguous page names leads to random
page selection but which can't be addressed easily because there is no
way for a user to select by page id in those contexts. Put a TODO next
to the ensure-first-page! workaround
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
Running `upsert block -c b1 --update-tags='["nonexistent-tag"]'`
errors for the nonexistent tag but surprisingly still
creates a block with no indication that it was created. Fixed this
and a similar case for `upsert page`. Also cleaned up `upsert task`
which had unnecessary error throwing which could also result in the
same error type. Longer term we need a better solution than moving
all error/validation checks to the beginning of each upsert
When a user deletes a page and then restores it by creating it again with cmd-k,
the page wasn't restored. The previously recycled page and its block are
now restored when the page is re-created