Skip to content

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

Compare
Choose a tag to compare
@YakovL YakovL released this 23 May 15:10
· 141 commits to master since this release

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 introduced tw.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 and tw.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 a config.macros.upgrade method
  • 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 when newTitle is provided
    • store.saveTiddler should allow falsy newTitle (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)