I noticed that “close all” in my updated wiki causes a JavaScript error: TypeError: can't access property 'style', element is null, even with content present in $:/config/EmptyStoryMessage. It can be replicated with these actions in an empty 5.4.0:
Change the story view to “zoomin”
Click “close all” in the sidebar’s “Open” tab
Change the palette
Click “close all” again
btheado
February 23, 2026, 2:16am
2
The crash looks to be in code which was added in this PR:
master ← CrossEye:remove-transition-rather-than-set-none
opened 01:36AM - 08 Sep 25 UTC
See the Talk discussion on [Prerelease animation](https://talk.tiddlywiki.org/t/… 13461) for more background.
This replaces a number of post-animations blocks that set an element's CSS `transition` property to `none` with ones that remove that style property altogether. If fixes an issue in which, after an element has been animated into the story river, `:hover` transitions stop working.
Although @saqimtiaz suggested looking also at `/core/modules/utils/dom/modal.js` and at `core/modules/utils/fakedom.js`, I didn't see any necessary changes there. I did find two others, `slide.js` and `cecily.js`.
Testing
-------
Do we have any automated testing feature that would help demonstrate the fix? I don't know that I've ever seen a programmatic way to assert that a CSS animation runs on precipitating event. Has anyone else?
One simple question
-----------------------
Should we add a function so that these lines would be replaced with `$tw.utils.removeStyle(targetElement, "transition")` (or possibly `removeStyles` using an array of names)?
A harder question
-----------------
Should we take this time to review all such JS animation resets and replace all the `$tw.util.setStyle` calls with a property removal instead? There is a good argument to be make for doing so, but it is a substantial amount of work. And it seems as if testing would be quite difficult. Even recognizing when we're resetting to defaults rather than to arbitrary values might be difficult.
I’m able to duplicate the issue at this share site url with zoomin view preconfigured
Click the share site link and then close the only open tiddler (or click close all). The javascript error is the result.
Thank you, this should now be resolved.
2 Likes
pmario
February 23, 2026, 3:12pm
4
1 Like