When is a tiddler in the story river?

Got to tiddlywiki.com and create a tiddler with the contents below. Close all other tiddlers. Open the detail and run the button.

All the items will be opened, and the original tiddler will be at the bottom. So the navigation is treated as though from outside the river.

Close all other tiddlers again. Use the button at the bottom of the tiddler. Now all items will open, and the original tiddler will be at the top. So the navigation is treated as though from inside the story river.

I don’t understand why both of these are not treated as from inside the river – they’re both being launched from within a tiddler that is inside the main story river. Maybe I’ve misunderstood what it means to be in the story river?

<details class="mytoc">
<summary>Test</summary>
<$button actions="""
<$list filter="[tag[HelloThere]]">
<$action-navigate $to=<<currentTiddler>>/>
</$list>"""
>
Open detail items
</$button>
<<list-tagged-draggable  tag:"HelloThere"  >>
</details>

<$button actions="""
<$list filter="[tag[HelloThere]]">
<$action-navigate $to=<<currentTiddler>>/>
</$list>"""
>
Open detail items
</$button>

I attempted to help but “got no answer” but here are my notes if it helps.

@Mark_S you seem to make these distinctions

  • All the items will be opened, and the original tiddler will be at the bottom. So the navigation is treated as though from outside the river.

  • Now all items will open, and the original tiddler will be at the top. So the navigation is treated as though from inside the story river.

I would have thought that inside or outside the river had to do with where the link is, not the order the result appears, although it changes in your example, and that is what the documentation says.

  • In the Navigator widget it suggests openLinkFromInsideRiver openLinkFromOutsideRiver have options for top/bottom so why do you connect one behavior with inside and one with outside?
  • but in this case you can’t determine any other parameter when you use the ‘‘Action navigate widget’’, that is you are relying on the default behaviour presumably set in the ‘‘Navigator Widget’’

So is it fair to say “you are observing two different behaviours when you rely on the defaults”, and placing action-navigate inside a details widget causes tiddlers to be opened above?

  • This is the same behaviour you expect as if you are outside the story?
    but it does not mean it is.

I am guessing here, what I suspect is that using the HTML details attribute rather than another “slider method” like list or reveal or the details widget plugin may, effect this behaviour by miss interpreting its place in or outside the river.

So I believe the navigator used is as follows found in $:/core/ui/PageTemplate

<$navigator story="$:/StoryList" history="$:/HistoryList" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>
...
</$navigator>

But the logic you may have found a bug in is in $:/core/modules/widgets/navigator.js

I hope this helps in someway.

For me using the prerelease, the tiddler with your code is always at the top. There is no difference.

Does that mean there’s some bug in the current release?

no. It’s the same thing with tiddlywiki.com There is no difference for me using FF with ubuntu 22.04 atm

For me also all tiddlers open below the original tiddler! No difference!

Siednote:
Mark what you made should be added to tiddlywiki.com, like start from here, it can show nicely a liner flow to see what is Tiddlywiki, reasons to use tiddlywiki, what you can do with tiddlywiki, syntax, example wikis, …

Thanks everyone for your replies! I realized that an additional complication is that the links are being launched from within a link catcher widget. So maybe I should expect the actions to somewhat different.

We currently don’t have the means to intercept navigation with $linkcatcher and re-transmit the message with the necessary information for the origin DOM node and widget to be identified.