TiddlyWiki v5.4.0 Streams plugin is broken

I have updated a single file wiki from 5.3.8 to 5.4.0. It has Streams plugin bundled. Now clicking on a node in a Streams tree doesn’t switch it into edit mode anymore. :sos_button:

I can confirm that that’s a problem.

Link to Strems, to speed up testing: Streams — on TiddlyWiki 5.2.2

I did check the repository and the problem seems to be a deprecated syntax of the event-catcher. The update is in 1 file and adding 5 characters

I’m just curious… was the problem in $:/plugins/sq/streams/nodes-list-template with these lines:

<$eventcatcher
	events="click"
	selector=".stream-node-ctrl-btn"
	actions-click=<<node-ctrl-btn-actions>>
	tag="div"
>

Although the use of events="click" and corresponding actions-click=<<node-ctrl-btn-actions>> is deprecated syntax and can be updated to “modern” usage as:

$click="<<node-ctrl-btn-actions>>"

isn’t the older syntax still supported?

-e

You are right.

WARNING: This work around is only compatible with >= v5.4.0

Tiddler: $:/plugins/sq/streams/nodes-list-template

As a workaround can be changed to:

\import [[$:/plugins/sq/streams/action-macros]] [all[shadows+tiddlers]tag[$:/tags/streams/actionmacros]]  [all[shadows+tiddlers]tag[$:/tags/streams/user-actionmacros]]
\whitespace trim

<$vars stream-root-title=<<currentTiddler>>
	contextmenu-state=<<qualify "$:/state/sq-context-popup">>
	row-edit-state=<<qualify "$:/state/sq/streams/current-edit-tiddler">>
	drag-title-state=<<qualify "$:/state/sq/streams/current-drag-title">>
	drag-title-nextsibling-state=<<qualify "$:/state/sq/streams/current-drag-nextsibling">>
>
	<$eventcatcher
		selector=".stream-node-ctrl-btn"
		$click=<<node-ctrl-btn-actions>>
		tag="div"
	>
	<$eventcatcher
		tag="div"
		selector=".stream-row"
		$dblclick=<<toggle-row-edit-state>>
		$swiped-right=<<swiped-right-actions>>
		$swiped-left=<<swiped-left-actions>>
	>
	<$eventcatcher
		tag="div"
		selector=".sq-contextmenu-container"
		$contextmenu=<<oncontext-menu-actions>>
	>
	<$swiper
		tag="div"
		enable={{$:/config/sq/streams/swipe-enabled}}
		swipethreshold={{$:/config/sq/streams/swipe-threshold}}
	>
	<div class={{{ stream-root [{$:/state/sq/nodes/global-drag-state}match[yes]then[stream-dragactive]] [<currentTiddler>!has[stream-list]then[stream-newlist]] +[join[ ]] }}}>
		{{||$:/plugins/sq/streams/templates/stream-root-template}}
		<$list filter="[all[current]match<stream-root-title>]" variable="_NULL">
			<!-- if we are the root, add a button to add more nodes-->
			<div class="stream-row">
				<div class="stream-node-control stream-node-control-addnew">
					<div class="stream-node-collapser">
					</div>
					<div class="stream-node-handle">
						<$button tag="div" class="tc-btn-invisible" tooltip="add node" actions=<<add-new-node-actions>> >
							{{$:/plugins/sq/streams/icons/new-node-btn}}
						</$button>
					</div>
					<$list filter="[all[shadows+tiddlers]tag[$:/tags/streams/root-buttons]]" variable="btnTiddler">
						<div class="stream-node-handle">
							<$transclude tiddler=<<btnTiddler>>/>
						</div>
					</$list>
				</div>
				<div class="stream-node-block">
				</div>
			</div>
			<$set name="currentTiddler" filter={{{[<contextmenu-state>get[current]]}}}>
				{{||$:/plugins/sq/streams/contextmenu/contextmenu-template}}
			</$set>
		</$list>
	</div>
	</$swiper>
	</$eventcatcher>
	</$eventcatcher>
	</$eventcatcher>
</$vars>

I did create a PR that will also work with older versions, but is more complex. More testing is needed.