Towards a friendlier workflow for images in notes

You would need to adapt $:/plugins/sq/streams/editor-template to follow the pattern in the version of $:/core/ui/EditTemplate/body/default from this plugin. Here is a quick rough jab at it to get you started (requires that both plugins are installed):

\procedure customImportFileActions()
\procedure tv-action-refresh-policy() always
\procedure imageTextTitle() $:/config/sq/quickimage/image-transclusion-text
\procedure defaultTextTitle() $:/config/sq/quickimage/default-transclusion-text
<$let
	tiddlerJSON={{{[<importTitle>get[text]jsonextract[tiddlers]]}}}
	replacement-text-image={{{ [<imageTextTitle>get[text]] }}}
	replacement-text-file={{{ [<defaultTextTitle>get[text]] }}}
	contentTiddler={{{ [<currentTiddler>get[draft.of]else<currentTiddler>] }}}
	>
	<!-- iterate over each position in the array -->
	<$list filter="[<tiddlerJSON>jsonindexes[]]" variable="index">
		<!-- get the tiddler at that position in the array from the JSON -->
		<$let
			tiddler={{{ [<tiddlerJSON>jsonextract<index>] }}} 
			title={{{ [<tiddler>jsonget[title]] }}}
			type={{{ [<tiddler>jsonget[type]] :else[[text/vnd.tiddlywiki]] }}}
			unusedtitle={{{ [<title>] :cascade[{$:/config/sq/quickimage/file-title-cascade}splitregexp[\n]!prefix[\\]!is[blank]] }}}
		>
		<$action-log $$filter="title unusedtitle"/>
			<!-- make sure we have a title for the tiddler -->
			<$list filter="[<unusedtitle>!is[blank]]">
					<$action-setmultiplefields
						$fields="[<tiddler>jsonindexes[]] :except[[title]] created modified quickimage"
						$values="[<tiddler>jsonindexes[]] :except[[title]] :map[<tiddler>jsonget<currentTiddler>] [<now [UTC]YYYY0MM0DD0hh0mm0ssXXX>] :all[<now [UTC]YYYY0MM0DD0hh0mm0ssXXX>] yes"
						$timestamp="no"
						/>
					<$list filter="[<currentTiddler>] :map[get[type]prefix[image]then<replacement-text-image>else<replacement-text-file>substitute[]]" variable="imageTitle">
						<$action-transmit actions=`<$action-sendmessage
							$message="tm-edit-text-operation"
							$param="insert-text" text="$(imageTitle)$"/>` target="editor-import"/>
					</$list>
					<$action-deletetiddler $tiddler=<<importTitle>>/>
			</$list>
		</$let>
	</$list>
</$let>
\end customImportFileActions

\define config-visibility-title()
$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$
\end

\widget $edit(tiddler, field, index, class, tabindex, autocomplete,cancelPopups,inputActions,refreshTitle)
<$genesis $remappable="no" $type="$streams-edit" tag="textarea" autoHeight="yes" minHeight="1em" focus="yes" select="false" class="streams-editor tc-edit-texteditor tc-edit-texteditor-body" caretPosition={{{[{$:/state/sq/streams/caret-position}!is[blank]else[end]]}}}>
	<$set name="targetTiddler"value=<<currentTiddler>> >
		<$slot $name="ts-raw"/>
	</$set>
</$genesis>
\end 

\widget $dropzone(importTitle, autoOpenOnImport, contentTypesFilter, class, enable, filesOnly, actions)
<$let
	configTitle="$:/config/sq/quickimage/import/enable"
	quickimageEnabled={{{ [<configTitle>get[text]trim[]match[no]else[yes]]  }}}
	>
	<$genesis
		$remappable="no" 
		$type="$dropzone"
		importTitle=<<importTitle>>
		autoOpenOnImport="no"
		contentTypesFilter=<<contentTypesFilter>>
		class=<<class> enable=<<enable>>
		filesOnly=<<filesOnly>>
		actions={{{ [<quickimageEnabled>match[yes]then<customImportFileActions>else<actions>]  }}}
	>
		<$slot $name="ts-raw"/>
	</$genesis>
</$let>
\end

<$transclude $tiddler="$:/core" $subtiddler="$:/core/ui/EditTemplate/body/default"/>

This also reminds me that Streams is really overdue for a refactoring, since a lot of the core tweaks and workarounds that were used back then are now a part of the core.