v2.9.4: cleaner tables and popups, async loading, better hackability of saving and upgrading, more UI updates and fixes, big codestyle update, and more
Changes summary:
- features, hackability:
- added async loading into saving (disabled by default: unset
chkPreventAsyncSaving
to enable)- this is the first stage of implementing fully async saving (however, most savers will have to support it separately)
- extended
loadFile
,loadOriginal
to support async loading (and introducedtw.io.xhrLoadFile
,tw.io.loadFile
) - reportedly, it even improves performance of saving in some cases
- added async loading into upgrading, stage 2 (
upgradeFrom
) - hackability: extracted end of saving main (messages of success/failure) into
tw.io.onSaveMainFail
andtw.io.onSaveMainSuccess
- warning: savers like Timimi (async ones that don't support "callbacks") call these before saving and give false positive behavior (as it was previously)
- hackability: turned
onStartUpgrade
into aconfig.macros.upgrade
method
- added async loading into saving (disabled by default: unset
- UI: see here (mostly tables and popups; also reduced page header)
- fixes:
- saving a tiddler from story when renaming to an existing one shouldn't result in 2 tiddlers (#146)
store.saveTiddler
should rename tiddler whennewTitle
is providedstore.saveTiddler
should allow falsynewTitle
(meaning "don't update")- upgrading should start correctly (was broken in 2.9.3)
- infra:
- fix: make build tools work when project path has spaces
- more linter rules, including for tests and building scripts
- clean up some duplicated/unused autotests
- docs:
- added [[Filters]]
- updated [[PeriodicTable]] showcase and [[Tables Formatting]] examples
- updated PHP server recommendation for Android 10 and later
- added DarkModePlugin
- in build readme, added link to site GitHub Workflows
- codestyle, refactoring: finished the first wave of codestyle updating: added some eslint rules,
npm run lint
shows no errors, but linting rules themselves are not finished. Some code bits are now considerably more readable and easier to understand.
Here you can find changes that affect lingo (translations), backward compatibility (tiny details, presumably of no importance), and deprecations (String.prototype.right
, String.prototype.unDash
, String.prototype.getChunkRange
, String.prototype.replaceChunk
, String.prototype.getChunk
; more to come).
see full changelog here: #284 (comment)