TW 5.2.3 is Getting Ready to Be Released

I just read through the discussion in PR 6402 that was linked from the nondescript item [updated] filter processing to allow compiled filters to be cached and would just to give a shout-out to @Flibbles for persisting to put this in.

My main wiki has 8,300+ tiddlers and I welcome every bit of performance improvement I can get. Already looking forward to what else @Flibbles has up his sleeves.

Have a nice day
Yaisog

PS: What helped me A LOT in speeding things up is switching to zoomin story view with 0 ms animation duration, and automatically folding all tiddlers not currently in view (just by setting the respective state tiddler). That can be significantly less content to re-render on every change.

2 Likes

I feel like there should be a 5000+ tiddlers club for all of us people who are desperate for performance improvements.

The next big thing I’d do to improve performance is switch over to lazy filter evaluation. 90%+ operator calls used would benefit from it. But I don’t know if I have the will. compiled-filter-caches were such a low hanging fruit, and it took so much work and time to get them in. I cannot imagine trying to push for lazy filters, which would require touching to so many files. I’m afraid most of my performance improvements these days are on my own fork.

I wouldn’t mind installing a plug-in from a flibbles namespace and/or repo. After all, without tw5-relink my wikis would contain so much regret for my poor title choices and lack of foresight during tiddler creation.

So if you ever get around to implement any of this in your fork, think of us poor JavaScript-n00bs and put it into a plug-in. And please, call it tw5-turbo. :wink:

Have a nice day
Yaisog

2 Likes

automatically folding all tiddlers not currently in view (just by setting the respective state tiddler)

This is a really clever idea, and as an avid zoomin user with far too many tiddlers, I’d love to make use of it. I can’t quite figure out how to achieve the automatic folding and unfolding… did you have to change the way links are handled?

Actually, yes. I cloned the layout $:/core/ui/PageTemplate (which can then be chosen in Control Panel → Appearance → Layout) and added the line

<$messagecatcher $tm-navigate=<<additional-link-actions>> >

inside the $navigator widget (and its respective closing tag).
In a global macro additional-link-actions I do the folding / unfolding, and some re-sorting of newly opened tiddlers in the $:/StoryList, since they were all being appended at the end when the clicks were intercepted by the $messagecatcher. I can post the macro here if you like.

No core tiddlers were touched.

Have a nice day
Yaisog

@Yaisog this is a good idea that lets me do something I have wanted and that was to trigger an action on any navigation event.

As I understand it the message catcher widget “absorbs” the message and you need to issue it again so I assume your macro includes something like;

<$action-navigate $to=<<currentTiddler>> />

Or some thing similar, is this the variable?

The above seems to work, was there any other trick?

For reference, here is the macro:

\define is-folded()
[lookup[$:/state/folded/]match[hide]]
\end

\define additional-link-actions()
<$action-log message="$messagecatcher in $:/mwi/ui/PageTemplate"
						 from=<<event-navigateFromTitle>> 
						 to=<<event-navigateTo>> 
						 modifier=<<modifier>> 
						 storylist={{$:/StoryList!!list}} />
<$tiddler tiddler=<<event-navigateTo>> >
	<$list filter="[<event-navigateFromTitle>!is[blank]] [<tv-story-list>!contains<currentTiddler>] +[nth[2]]" variable="void">
		<$action-listops $tiddler=<<tv-story-list>> $subfilter="+[insertbefore:event-navigateFromTitle<currentTiddler>move<currentTiddler>]"/>
	</$list>
	<$action-navigate />
	<$list filter="[<modifier>match[normal]]" variable="void">
		<$action-deletetiddler $tiddler={{{ [all[current]addprefix[$:/state/folded/]] }}} />
		<$list filter="[list[$:/StoryList]!filter<is-folded>] -[all[current]] +[addprefix[$:/state/folded/]]">
			<$action-setfield $value="hide" />
		</$list>
	</$list>
</$tiddler>
\end

This adds closed tiddlers where I expect them in the story (below the current one), whether the Ctrl-key was used or not, and does the folding / unfolding.
The only thing I noticed is that when I create a new tiddler from the Page Toolbar, that tiddler starts folded. I don’t do that often enough that it bothers me, though, so I don’t have a workaround for it.

@TW_Tones: $action-navigate uses the currentTiddler, after it has been set to the variable event-navigateTo which is set by the $messagecatcher.

Have a nice day
Yaisog

PS: See also this discussion on GitHub regarding propagation of navigation events.

Give a try the new fabulous feature of TW 5.2.3p

The Show stylesheets as rendered plain text with highlighting

Open https://tiddlywiki.com/prerelease/#%24%3A%2FControlPanel
Head over Info → Afvanced → Stylesheet

The CSS highlighting makes it much easier to see errors, which is particularly useful when using wikitext to generate dynamic stylesheets. (by @jeremyruston )

Now working with dynamic stylesheets is a joy!

Thank you Jeremy!

Help needed

The current list of contributors in https://tiddlywiki.com/prerelease/#Release%205.2.3 is like below

It would be nice if we could polish this to something like below

(taken from Sponsor @antfu on GitHub Sponsors)

A volunteer with css knowledge should be able to design a nice contributors list.

Further info

\define contributor(username)
<a href="https://github.com/$username$" style="text-decoration:none;font-size:24px;" class="tc-tiddlylink-external" target="_blank" rel="noopener noreferrer"><img src="https://github.com/$username$.png?size=32" width="32" height="32"/> @<$text text=<<__username__>>/></a>
\end

We then need to submit a PR (I help or do this) and implement @jeremyruston comments to be accepted for including in new release.

Personally I prefer seeing contributors’ names rather than just avatars.

It may be possible to create a comma separated list, with avatars + names, so it would be shorter in y-size. But it would also be less readable. I don’t have strong feelings about it

It can be done, hovering mouse show the names. It can also be designed such that names be appeared at the bottom.

The current form has no harmony with other elements in the release tiddler. The long list with a lot of empty space looks ugly! Note to the font size.

Even just some columns would improve it,

Also adding contributors other than those who made GitHub PR’s. The next release has a Fix for a bug I discovered and raised as an issue, I have also asked someone else to submit a change but typically I get no mention :frowning_face: only the one time I did a PR, but since I am not so sure how to fork the repository (or if I need to) I am not sure how to do it again. I will eventually, but I am thinking of others who are unnamed.

Updated

First trial: Just images and link, name appears as tooltip

To give a try

  1. download Contributors - i.json (1.3 KB)

  2. drag and drop over https://tiddlywiki.com/prerelease/

  3. open Contributors

Updated

Second trial: Images and link, and username

To give a try

  1. download Contributors - ii.json (1.3 KB)
  2. drag and drop over https://tiddlywiki.com/prerelease/
  3. open Contributors - ii
3 Likes

I do like this one quite a bit. It looks good. @jeremyruston we should consider Contributors - ii.json … but did you merge something from tobibeer lately?

1 Like

This is the proposed implementation of contributor section in 5.2.3.
Below image shows contributors to 5.2.0

It looks more colorful :wink: and live than the previous contributors section! I like to see the faces and am glad to see many volunteers helping and improving TW.

It’s a good point.

The reason is that I can figure out the contributors just by looking at the commit list. It’s much harder to keep track of the underlying contributor for an issue, and we don’t have a systematic mechanism for doing so. In the meantime, it does provide another incentive to make even a simple PR – we do credit docs updates because they end up in the same commit history.

The current macro only works for GitHub usernames in any case; perhaps we’d need a separate section for the talk.tiddlywiki.org usernames of other contributors.

1 Like

Worth mentioning here that making a documentation PR does not require any technical or Git knowledge: PR-maker

2 Likes