Release 2.35.0-beta

New Features

Private nodes for everyone (#678)

  • Allow any authenticated user to add draft nodes (the “+” button now appears all the time)
  • Draft nodes are private, only visible to the user who creates them
  • Users with permission to add will now see a “Publish” button as well
  • Ensure nodes can be published if any neighbour is published

Make Tapestry predominantly URL-based (#624)

  • There is now a unique URL for each specific part of a tapestry, content, or authoring screen
  • Users can now share specific parts of the tapestry by copying the URL in their address bar
  • The unique URLs can be used to better integrate with tools like Google Analytics

Enhancements and Fixes

Enhancements to Duplicate, Import, and Export (#682)

  • Show a loading screen while doing export or duplicate
  • Export now includes WordPress site url and used to determine whether to keep user IDs on import
  • Strips permissions for users that don’t exist on the new site if the import is from a different site
  • Maintains role-level permissions if those roles exist on the import; otherwise strips them
  • Shows a summary screen after an import to describe if anything was stripped / changed

Content Display Improvements

  • Bug fix: Embedded webpages are not full height (#734)
  • Bug fix: H5P video in accordion appearing cutoff height-wise (#756)
    • Also remove H5P border by using negative margin
    • Also fix accordion not being clickable at the very top
  • Bug fix: YouTube video in accordion appears outside of accordion (#732)
  • Update external media background to white (#774)

Authoring Improvements

  • Improvements to the node modal (#795)
    • Hide description field by default
    • Group large sets of fields together visually
    • Make field labels and spacing consistent
  • Bug fix: Rich text editor buttons getting blacked out during focus (#757)
  • Bug fix: Unable to open the settings modal more than one time (#761)
  • Bug fix: Adding child node makes it appear like a grandchild node (#747)
  • Bug fix: Cannot select newly added nodes (#750)
  • Bug fix: control/cmd+A selection doesn’t work in lightbox and modals (#749)
  • Bug fix: Tapestry Depth setting showing incorrect max depth (#731)
  • Bug fix: Zero depth makes nodes appear small (#783)
  • Bug fix: Links are displaying in the wrong place when dragging (#790)
  • Bug fix: Unable to add a root node (#799)
  • Bug fix: Auto-generated thumbnail cannot be removed (#762)
  • Bug Fix: DragSelect activates while adjusting depth slider (#803)
  • Bug Fix: Logged in users are allowed to delete links that dismember part of the tapestry (#815)

Permission Improvements

  • Bug fix: Clicking on “Add”/”Edit” for “Authenticated” doesn’t override permissions under it (#808)
  • Bug Fix: Remove “Editor” role from permissions since they should always have full permissions (#794)
  • Remove public users’ potential capability to add or edit nodes (#745)
    • Hide the add button on nodes if user is not logged in (regardless of the permission set in the node)
    • The “add” permission checkbox for public users is now disabled, so authors won’t be able to set this permission for future nodes
    • Backwards compatibility: For current nodes, the add permission is stripped when the node is loaded in

Other Fixes and Improvements

  • Allow users with the right privileges to add a new tapestry (#816)
  • Bug fix: Depth slider icons appear out of place on smaller screens (#787)
  • Bug Fix: Node not displaying after changing connections (#771)
  • Switch _filterNodeMetaIds to use Depth First Search starting from root
  • Bug fix: Saved progress not working and producing console errors
  • Get rid of reliability on obsolete media duration
  • Bug fix: Fix issues with the new_tapestry_button shortcode (#744)
    • Pressing cancel on the name prompt now closes the prompt and does not create a tapestry
    • Add nonce to the header so that the request is validated by REST API (was failing)

Code / Development Improvements

  • Fix and Improve WP Init Script (#758)
    • Increase container wait to 30s as default and allow change through config file
      • This ensures that the Docker WP initialization script is able to find and install WP
    • Add new make commands (see Makefile)
    • Prompt for LinkPreview API key during installation and save it automatically in config.js
    • Improve uninstall process including better cleanup
    • Add helpful messages during install when installation fails
    • Add redundancy for failure to load shell config file
  • Update Cypress to work with new master (#779)
  • Refactor: Update nodes to use relative coordinates (#776)
  • Create Github workflow to send Slack messages to users when they are mentioned on Github (#770)
  • Add instructions for npm install errors (#751)
  • Fix issue in template file causing PHP warnings
  • Version bump