[TW5] Bob and BobEXE v1.7.0b1 Can of Soup

217 views
Skip to first unread message

Jed Carty

unread,
Dec 13, 2020, 1:40:21 PM12/13/20
to TiddlyWiki
Most of the changes deal with me getting ready for the secure server version as a possible replacement to Tiddlyspot, there will be an announcement and demo later.

There hasn't been as much testing as usual because an adorable kitten managed to fry my development computer and I have only had my laptop and a raspberry pi to test on.

The BobEXE version is available here: https://github.com/OokTech/TW5-BobEXE/releases/tag/1.7.0b1
The plugin is available here: https://github.com/OokTech/TW5-Bob

!! Version 1.7.0 Can of soup

  • clean up some code problems
  • add framework for limiting access to settings and plugins based on login status (secure server only)
  • Ensure that the settings are always correctly loaded in some edge cases
  • Add RootWiki to the list of wikis that can be duplicated in the UI
  • The disableBrowserAlerts setting now takes input values yes and no instead of true and false
  • Added the option to serve single file wikis without Bob to people who aren't logged in (secure server only)
  • Modify how settings are loaded to work better with the external server
  • Many changes to the internals to work with the external server better, most don't affect functionality
  • improve the http api
    ** See the http api documentation for more

!! Version 1.6.2r2 Une Vie Typique

  • Fixed a regression that would prevent websocket connections if the wiki had a space in its name.
  • Add a /api/status http route that returns settings and other wiki information
  • Switched to using the /api/status route to get wiki settings instead of the setLoggedIn websocket message to make behaviour more predictable and prevent some race conditions
  • Lots of refactoring and cleanup on the wiki management functions in the back-end
  • You no longer need to click a button to see the available plugins/themes/editions/languages on the server. If any new ones are added while you have a wiki open you need to either refresh the page (the reload button on your browser, nothing special) or refresh the settings.
  • Big update to the http api routes
  • Documented the http api
  • Fix a crash from a variable scope problem
  • Fix a problem with disabling the browser automatically opening

!! Version 1.6.1 Scream in your heart

  • Changed how saveTiddler messages are handled that reduce the number of redundant messages. This prevents some undesired behaviour and in some extreme cases infinite saving loops.
    ** This makes some significant speed improvements, everything but saving many tiddlers in the browser is now close to the speed it was before switching to the internal syncer
  • Fixed some formatting to fit better with tiddlywiki coding styles
  • Fixed the basepath for the file server
  • Simplified the file system monitor in a way that should prevent race conditions when used with external syncing services like git or dropbox
    ** Thanks @lineOneTwo
  • Fixed the name enableBobSaver so that the GUI can disable the saver correctly
  • Updates to setting the modified flag for a wiki on the server to be more consistent
  • Update action-downloadwiki documentation to show you can set which core to use and set the default download name
  • Improved the handling of uploaded files
  • Add proper handling so expired login tokens aren't sent when they shouldn't be
  • Create a single shared method for getting login tokens

Sylvain Naudin

unread,
Dec 21, 2020, 2:10:05 PM12/21/20
to TiddlyWiki
Bonjour Jed,

Glad to see this releases notes !
It's great to see new about secure server version.
I would like to test further, but my skills with the Node.js version are lacking, and I may have some constraints with my web host (which proposes the installation in 1 click of the Node.js TW version, so there would be a way to have some assistance I think if we take the time).

Cheers,
Sylvain

Jed Carty

unread,
Dec 22, 2020, 3:32:09 AM12/22/20
to TiddlyWiki
Bonjour Sylvain,

I am glad someone is using Bob. I am close to having a working demo of the secure version running but an adorable kitten decided that dancing on the multiprise for my desktop was a fun idea and after some impressive sparks now I no longer have a working development machine (the kitten is fine, it was only my computer that got hurt).
So my hope is to put up a demo site when I am able and see if I can get help getting a new computer is exchange for making sure that the system works as a reasonable tiddlyspot replacement and has things like 1-click installers for digital ocean and hopefully wherever else is useful.

The problem is that at the moment I only have my laptop to work with and for the most part my development time is the train to and from Paris each day.
If you can help with testing the install that would be a great help. I have it working fine but I haven't finished the interface for managing accounts and wiki permissions yet.
I am the only one who has been testing so I am certain there are be bugs I haven't found.

I will make a post with more details about the secure server in a few minutes. If you want to try and install send me a message with details about where your hosting is if there is any public information about it I can start looking at if I can make a 1-click install for the secure server part.

Sylvain Naudin

unread,
Dec 22, 2020, 6:04:53 AM12/22/20
to TiddlyWiki
Hi Jed,

I would be delighted to take part in the tests.
A user on the French forum is also always interested in Bob and his multi-user character.
But at the moment it's a bit of an open bar in terms of security I think.

I see you're still around, so it might be a good idea to meet up once again in person (with the barrier gestures!). At least once to share more quickly and save time (or via Google Meet or Skype? Because if you say you're coming by train, it's like me (I live about 30 km away), you live probably further away, so we probably won't be able to meet IRL).

Regards,
Sylvain

Stobot

unread,
Dec 27, 2020, 6:45:50 PM12/27/20
to TiddlyWiki
Jed,

Unfortunately this version is "silent crashing" on my end, never happened before on previous versions, so I suspect it's unlikely user-error. I realize you aren't as easily able to debug Windows, so I'll give as much detail as I can. Here are the details:
  • I'm using the BobWin.exe file from your link above - so 64-bit Windows
  • I've tried on two different, but similar machines - both HP Laptops Windows 10 64-bit
  • All previous versions of BobWin.exe that I've tried work fine - including the latest release 1.60
What I'm doing:
  • Opening the BobWin.exe normally
  • Going past the initial Windows "this is unsafe" warning - using "run anyways" as I always do
  • Going past the Symantec "this file is unproven" warning - using "allow this file" as I always do
  • Normally then the terminal screen comes up, and then the browser pops open. Now, nothing
  • Looking at the running programs, it looks like Node.js opens, then just closes silently
Let me know if there's anything else I can provide to help - thanks for your efforts as always!

TW Tones

unread,
Dec 27, 2020, 10:36:09 PM12/27/20
to TiddlyWiki
Stobot,

I use windows 10, in the past I launched bobwin from a command prompt such that when it terminates it may provide a message at the prompt.

Perhaps try it on an empty folder in case it is responding to something in an existing wiki.

I may get the opportunity to see if I can replicate this later today.

Tones

Stobot

unread,
Dec 27, 2020, 10:45:55 PM12/27/20
to TiddlyWiki
Good suggestion Tony, when running from the command line in a totally empty folder right off of c:\BOB it returns this:

C:\BOB>bobwin
NodeSettings - Parsed raw settings.
Error executing boot module $:/plugins/OokTech/Bob/NodeBasicHandlers.js: {}

$:/plugins/OokTech/Bob/NodeBasicHandlers.js:21
  $tw.Bob.Shared = require('$:/plugins/OokTech/Bob/SharedFunctions.js');
                 ^

TypeError: Cannot set property 'Shared' of undefined
    at $:/plugins/OokTech/Bob/NodeBasicHandlers.js:21:18
    at $:/plugins/OokTech/Bob/NodeBasicHandlers.js:251:3
    at Script.runInContext (vm.js:137:20)
    at Script.runInNewContext (vm.js:143:17)
    at Object.runInNewContext (vm.js:309:38)
    at Object.$tw.utils.evalSandboxed (C:\BOB\TiddlyWiki5\boot\boot.js:530:5)
    at Object.$tw.modules.execute (C:\BOB\TiddlyWiki5\boot\boot.js:806:15)
    at C:\BOB\TiddlyWiki5\boot\boot.js:846:30
    at Object.$tw.utils.each (C:\BOB\TiddlyWiki5\boot\boot.js:135:12)
    at Object.$tw.modules.forEachModuleOfType (C:\BOB\TiddlyWiki5\boot\boot.js:845:12)

Jed Carty

unread,
Dec 30, 2020, 5:22:26 PM12/30/20
to TiddlyWiki
This should be fixed in the next release, I am currently doing what testing I can on it.
Reply all
Reply to author
Forward
0 new messages