Skip to content

Sourdough Crumpets

Choose a tag to compare

@inmysocks inmysocks released this 10 Aug 17:58
· 3 commits to master since this release

This fixes bugs from the previous release and adds way more than should be done between releases.

This brings the single excutable up to Bob version 1.0.3.

The changelog for Bob 1.0.3 is here https://github.com/OokTech/TW5-Bob/blob/master/Changelog.tid

  • Fixed/Updated documentation
    • Added note about buildHTMLWiki message
  • Fixed a bug that would keep old tiddlers after they were renamed.
    • It also sometimes kept old tiddlers that were deleted and then the wiki was
      reloaded.
  • Partially fixed a related bug that would sometimes keep old versions of
    tiddlers if they were renamed on the file system while the wiki is running.
    • This is only partially fixed. The behaviour is inconsistent. I need to find
      reproducible ways to cause it.
  • Added the 'unloadWiki' message that unloads a loaded wiki.
    • This can be used to change the plugins loaded in a wiki and to just remove
      wikis from memory if they aren't being used. That second one may not be
      very useful because wikis don't take much memory.
    • There is currently no handling for what happens when you unload a wiki
      while someone is using it. So beware.
  • Added a hook to be used by external servers when you create a new wiki
    • This lets you set the correct access permissions on wikis created from
      within tiddlywiki when you are using an external server.
  • Added detection and recovery of lost websocket messages to ensure that all
    changes to a wiki are properly saved on the server and that all changes on
    the server make it to all of the browsers.
    • This update also gives much more consistent handling to all messages
    • There is a short delay before sending saveTiddler messages, this prevents a
      bug that would cause errors saving changes to tiddler edited without using
      the normal edit tiddler.
  • Only messages for the wiki a connection is using get sent to that connection,
    potentially reducing the network load of a wiki.
    • This also improves security and privacy because people who don't have
      access to a wiki can't see that there is editing activity taking place or
      see tiddler titles.
  • On the back-end the waiting list is removed which simplifies a lot
  • Hopefully there is correct handling for date fields now.
    • This needs further testing.
  • Serve cached wikis if nothing has changed since the last time it was built
  • Added includePluginList and excludePluginList to the configuration.
    • includePluginList is a list of plugins that should be served to every
      wiki served by Bob, regardless of if they are in the tiddlywiki.info file.
    • excludePluginList is a list of plugins that should not be served on any
      wiki served by Bob regardless of if they are listed in the tiddlywiki.info
      file.
    • excludePluginList takes precidence over the includePluginList so if a
      plugin is listed in both it will not be included. excludePluginList can
      also override the servePlugin setting if you have that set to true, so it
      can be used to make Bob serve normal tiddlywikis without any multi-user or
      other Bob functionality.
  • The default file server url path is now files instead of file to match
    the proposed updates to the core --listen command.
  • The deleteTiddler, editingTiddler and, cancelEditingTiddler messages are now
    consistent with the saveTiddler message.
    • Now removeTiddler is deleteTiddler
  • The wiki can now reconnect to a server after being disconnected
  • The wiki now keeps track of unsent messages when disconnected from the server
    • The browser sends any unsent changes to the server when it reconnects
    • The changes are also saved in a tiddler that can be exported for future
      manual inclusion
    • The server sends any changes that have happened since the browser was
      disconnected
    • Conflicts need to be taken care of in the browser.
  • The connection health is now determined by the socket state in the browser,
    not the time it takes to receive a response to the heartbeat