[TW5] Bob version 1.0.3 Sourdough Crumpets or It has been way too long

235 views
Skip to first unread message

Jed Carty

unread,
Aug 5, 2018, 1:33:11 PM8/5/18
to TiddlyWiki
For the moment this is only the plugin version because uploading the single executable version on my terrible internet connection at home isn't going well.

The biggest change is that you can now reconnect to a server after being disconnected and the wiki state is resycned without needing to reload the full wiki. On a slow connection this can save a lot of time. There is also some simple detection for conflicts if the server and your wiki both changed while disconnected.
This means that you can work on the wiki while disconnected and then when you are able reconnect to the server and have it save your changes. It also lays the groundwork for using Bob with twederation.


There are a lot of other changes here because I haven't been in the mood to bump the version when I probably should have or announce anything. Many of the changes or on the back-end so things just work better, but there are a few noticeable ones:

- Added the unloadWiki message. This lets you unload a wiki from inside the browser and then reload the page. This lets you change plugins listed in the tiddlywiki.info file and have those changes take effect without restarting the server.
- There are a number of back-end changes that prevent lost messages. If you ever had an edit disappear after reloading the wiki, or if you noticed that when you changed the wiki title it wouldn't always save the last few key strokes, that should be fixed now.
- Date fields should work better now. Let me know if there are any more errors with them.
- You can list plugins to be served with all Bob wikis regardless of if they are listed in the wikis tiddlywiki.info file, this is useful if you use Bob to create a wiki and then distribute it in another form
- The default prefix for the file server url is files instead of file to match the new work Jeremy has done with the --listen command
- Detecting when the browser has lost its connection to the server is much better now. The connection health is now determined by the web socket link state, not by the heartbeat signal, so you shouldn't get the blinking 'Disconnected' errors anymore.


The plugin is on git here: https://github.com/OokTech/TW5-Bob

As always let me know if you run into any bugs. I will try and get the single executable version set up sometime soon.

Stobot

unread,
Aug 5, 2018, 3:27:59 PM8/5/18
to TiddlyWiki
Awesome!! I look forward to the executable to come out to upgrade my team's Bob so I can try it out. Thanks for your continued development on this Jed.

TonyM

unread,
Aug 5, 2018, 9:00:07 PM8/5/18
to TiddlyWiki
Jed,

Thanks for the continued development and innovation. I value bob a lot.

Tony

@TiddlyTweeter

unread,
Aug 6, 2018, 8:56:36 AM8/6/18
to tiddl...@googlegroups.com
Dear Jed & Bob

Sounds v. good.

Jed: ... uploading the single executable version on my terrible internet connection at home isn't going well.

Is there something we can do to help? Like would some money help you get a better connection? Or maybe its a intrinsic problem where you are?

I feel I'm getting a bit behind on Bob. Which I don't want to be as its so good.

Best wishes
Josiah

Ste Wilson

unread,
Aug 6, 2018, 4:44:28 PM8/6/18
to TiddlyWiki
Inspired to ry again in my pi...
I tied following the plugin instructions but get to

cp -r TiddlyWiki5/plugins/OokTech/Bob/BobWiki TiddlyWiki5/Wikis/BobWiki/

and receive

cp: cannot stat 'TiddlyWiki5/plugins/OokTech/Bob/BobWiki': No such file or directory

so from Tiddlywiki 5 folder i tried:

node ./tiddlywiki.js /Wikis/bobtest --init

And then in the Tiddlywiki5 folder
tiddlywiki Wikis/bobstars  --wsserver
which returned the error message
Error: Unknown command: wsserver

This was all done in a folder in /home.

I'd previously installed tiddlywiki through npm so thought i'd try the plug in route.  I found tidldly wiki hiding away in /usr/lib/node_modules/tiddlywiki/ (and linux users wonder why it's not taken over the world...)
in the plugins folder i created OokTech/Bob and
git clone --depth=1 https://github.com/OokTech/TW5-Bob.git
to put the plug in in the correct place.

I then added the line "OokTech/Bob" into the plugins section of the info file of my existing (newly created) wiki.

undefined:7
       
"OokTech/Bob"
       
^

SyntaxError: Unexpected string in JSON at position 174
    at JSON
.parse (<anonymous>)
    at
Object.$tw.loadWikiTiddlers (/usr/lib/node_modules/tiddlywiki/boot/boot.js:1791:19)
    at
Object.$tw.loadTiddlersNode (/usr/lib/node_modules/tiddlywiki/boot/boot.js:1894:27)
    at
Object.$tw.boot.startup (/usr/lib/node_modules/tiddlywiki/boot/boot.js:2029:7)
    at
/usr/lib/node_modules/tiddlywiki/boot/boot.js:2215:12
    at
Object.$tw.boot.decryptEncryptedTiddlers (/usr/lib/node_modules/tiddlywiki/boot/boot.js:1490:2)
    at
Object.$tw.boot.boot (/usr/lib/node_modules/tiddlywiki/boot/boot.js:2213:11)
    at
Object.<anonymous> (/usr/lib/node_modules/tiddlywiki/tiddlywiki.js:13:10)
    at
Module._compile (module.js:652:30)
    at
Object.Module._extensions..js (module.js:663:10)

The single exe fails as i can't open it in a browser to turn on network access and I don't know how to edit it's config file.

Cheers!

Jed Carty

unread,
Aug 7, 2018, 3:27:57 AM8/7/18
to TiddlyWiki
Ste,

the cp error is because there was a typo in the readme giving the wrong path. It is updated now.

The other things seem like a lot of path errors. You can put the wikis wherever you want, but you have to give their path correctly when running the tiddlywiki command. So if you have already created a wiki in ~/Wikis/bobstars
and then in your home folder you run
tiddlywiki Wikis/bobstars --wsserver
than it will run the wsserver command using the wiki in ~/Wikis/bobstars, but this only works if the plugin is listed in the tiddlywiki.info file for that wiki.

I am not certain that going into the /usr/lib/node_modules/tiddlywiki/plugins/OokTech/Bob folder and running that git command would put the plugin in the correct place. I think that it would put the plugin in /usr/lib/node_modules/tiddlywiki/plugins/OokTech/Bob/TW5-Bob. What you would do here is delete the Bob folder then from the OokTech folder run
git clone --depth=1 https://github.com/OokTech/TW5-Bob.git Bob
and it should put the plugin in the Bob folder.

The error you got from editing the tiddlywiki.info file sounds like a comma error. If there is a plugin listed before Bob than you have to have a comma between the names.

It would look something like this:
"plugins": [
   
"tiddlywiki/railroad",
   
"OokTech/Bob"
],
where there is a comma between each plugin listed and no comma at the end of the list.

The configuration for the single executable version is the same as for the plugin version, it gets taken from the settings folder of the index wiki folder. If you try running it once on the pi it should create a Wikis folder and an IndexWiki, inside that folder there should be a settings folder and inside that a settings.json file that you can edit to set the suppress browser option to true. But the single executable has some big bugs in it because I haven't updated it to the newest version yet.

Out of curiosity, when you install tiddlywiki with npm on windows where does it get installed?

Jed Carty

unread,
Aug 8, 2018, 5:22:15 AM8/8/18
to TiddlyWiki
And I just found a bug that makes it so that tags are not always correctly added to a tiddler that doesn't already have any tags. It is a bug is the code I have to determine if a tiddler has changed or not and it is a pain.

If no one has found this yet I guess not many people are using Bob so I will get to it when I have time.

HansWobbe

unread,
Aug 9, 2018, 12:19:11 PM8/9/18
to TiddlyWiki
Jed:

I doubt I am alone in that I simply, quietly use Bob (almost exclusively, lately).  I'm not trying to add to your inevitable time pressures, but from my point of view, a fix would be very much appreciated, just in case there are problems I have not noticed.  Failing that, I'm certainly happy to continue relying on Bob and my goood luck (so far).

Best regards,
Hans


On Wednesday, August 8, 2018 at 5:22:15 AM UTC-4, Jed Carty wrote:

...

TonyM

unread,
Aug 9, 2018, 9:17:29 PM8/9/18
to TiddlyWiki
Hans/Jed,

Me too, Bob is running and hosting
  • a directory to all the wikis I now host in Bob
  • A Directory to everything else wiki
  • My Core distribution wiki, where I send everything I want to send anywhere
  • Key working wikis with clients, strategy and todo
Jed has a habit of underestimating the value of his contributions. Make sure we give him feedback, as we have.

I tend to use TiddlyServer for single file and Node wikis I am developing, due to the brows-ability to wikis, but as soon as I want them in my personal production environment they go to Bob so that I can open them in multiple windows and share them on the LAN for update.

Regards
Tony

@TiddlyTweeter

unread,
Aug 10, 2018, 10:50:14 AM8/10/18
to TiddlyWiki
Jed Carty wrote:
... I guess not many people are using Bob so I will get to it when I have time.

Right. But its not from lack of interest. It is from simple lack of people. Not not taking it up, rather the "pool is too small". IMO.

The fealty towards your work (recognition of the value of it) is very strong.

Its part of a broader issue with TW that it is too insular. It has zilch marketing.

Its one of those Catch 22s.

Given your work is so good. And TW is so good. More ACTIVE promotion needed is sadly lacking.

Josiah

Jed Carty

unread,
Aug 10, 2018, 2:11:51 PM8/10/18
to TiddlyWiki
The bug with the tags has been resolved and both the plugin and single executable versions have finally been updated to version 1.0.3.

The single executable release is available for the different platforms here: https://github.com/OokTech/TW5-SingleExecutable/releases/tag/1.0.3

The plugin version is here: https://github.com/OokTech/TW5-Bob

Again this is a lot of back-end and bug fixes, but it does add a new feature, the ability to reconnect to a server after being disconnected. And the detection for when you are disconnected is much better now so you shouldn't get the blinking disconnected warning. The disconnected warning now includes a Reconnect button that, if the server becomes available, you can click to reconnect.

When you reconnect it will send any changes to the server and pull any changes from the server. It also creates a tiddler that lists any conflicts (or says that there are no conflicts if there are none.). The server version is used as the base version and the version in the browser is the conflicted version, you can open up the tiddlers that have conflicts and there is a small interface in the tiddler for picking which version you wish to keep. This decision is synced to the server so it affects any connected browsers (and other people using the same wiki).

The conflict handling is very crude, hopefully in the future it can be extended. I am the only person who has tested the reconnection part so let me know about any bugs you find.

TonyM

unread,
Aug 10, 2018, 8:22:33 PM8/10/18
to TiddlyWiki
Jed,

I will start using the new version of the single executable in a few minutes then every day so I will provide feedback.

Regards
Tony

Jed Carty

unread,
Aug 11, 2018, 6:35:31 AM8/11/18
to TiddlyWiki
I forgot to mention that if you don't want to bother with git you can drag and drop the plugin into your wiki from here https://www.ooktech.xyz:8443/Public

You need to make a node wiki in the normal way (instructions on tiddlywikis.com here: https://tiddlywiki.com/#TiddlyWiki%20on%20Node.js), then when you are in that wiki drag and drop the bob plugin from the link above. Then stop the wiki server and restart it using --wsserver instead of --server. So the example on tiddlywiki.com would change from tiddlywiki mynewwiki --server to tiddlywiki mynewwiki --wsserver

Hopefully that makes a bit of this easier.
Reply all
Reply to author
Forward
0 new messages