Experimenting with TiddlyWiki on Beaker Browser

499 views
Skip to first unread message

Jeremy Ruston

unread,
Dec 21, 2016, 8:11:33 AM12/21/16
to Beaker Browser
Congratulations on Beaker Browser, it's a terrific piece of work, and satisfies a desire I have long held for a browser for the serverless age.

I'm the lead developer of TiddlyWiki, a JavaScript browser that can run as a single HTML file in the browser, or as a Node.js application. There's more information at http://tiddlywiki.com and https://github.com/Jermolene

I've been experimenting with using the single HTML file incarnation of TiddlyWiki with Beaker Browser. TiddlyWiki encapsulates methods for saving files to "saver" modules; the core currently includes half a dozen that work in different circumstances: a generic HTML5 saver using the download attribute of an anchor link, a WebDAV saver that PUTs back to the server, and so on.

I added a simple saver for Beaker Browser:


It works really well, and now it is possible to edit a TiddlyWiki on a dat: URL, and automatically save changes.

I've created an example site:

dat://eaec2913b78d11a81a68775068fb3107e9029b746e7cbc6d1a1926190c9f6f05/index.html

If you fork the site, you should be able to make your own changes.

Again, congratulations on a great piece of work. Getting things integrated took less than an hour, but opens up a fascinating world for further exploration.

Best wishes

Jeremy.

Paul Frazee

unread,
Dec 21, 2016, 9:58:23 AM12/21/16
to Jeremy Ruston, Beaker Browser
Jeremy,

Very cool! If anybody here hasn't tried TiddlyWiki before, check it out now.

-prf

PS. Everyone - we're working on a regression in the Dat networking stack that's been stopping connections from completing. Keep an eye out for a patch announcement.

--
You received this message because you are subscribed to the Google Groups "Beaker Browser" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beaker-browser+unsubscribe@googlegroups.com.
To post to this group, send email to beaker-browser@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beaker-browser/d0823275-fdc1-427d-a1fa-c5b8460e2953%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Rustem A

unread,
Dec 22, 2016, 7:47:56 AM12/22/16
to Beaker Browser
Jeremy, is it possible to use dat (the nodejs app) to sync nodejs-hosted TW folder between a few machines? Currently I'm using syncthing for that. And, is dat sync two-way or only from server to "subscriber"?

Jeremy Ruston

unread,
Dec 22, 2016, 8:36:54 AM12/22/16
to Rustem A, Beaker Browser
Hi Rustem

Jeremy, is it possible to use dat (the nodejs app) to sync nodejs-hosted TW folder between a few machines? Currently I'm using syncthingfor that. And, is dat sync two-way or only from server to "subscriber”?

Yes, I think that would be possible, and that Dat is pretty equivalent in this case. Just as with Dropbox and Syncthing you’d have to take care with conflicting updates from different machines.

Best wishes

Jeremy


On Wednesday, December 21, 2016 at 5:11:33 AM UTC-8, Jeremy Ruston wrote:
Congratulations on Beaker Browser, it's a terrific piece of work, and satisfies a desire I have long held for a browser for the serverless age.

I'm the lead developer of TiddlyWiki, a JavaScript browser that can run as a single HTML file in the browser, or as a Node.js application. There's more information at http://tiddlywiki.com and https://github.com/Jermolene

I've been experimenting with using the single HTML file incarnation of TiddlyWiki with Beaker Browser. TiddlyWiki encapsulates methods for saving files to "saver" modules; the core currently includes half a dozen that work in different circumstances: a generic HTML5 saver using the download attribute of an anchor link, a WebDAV saver that PUTs back to the server, and so on.

I added a simple saver for Beaker Browser:


It works really well, and now it is possible to edit a TiddlyWiki on a dat: URL, and automatically save changes.

I've created an example site:

dat://eaec2913b78d11a81a68775068fb3107e9029b746e7cbc6d1a1926190c9f6f05/index.html

If you fork the site, you should be able to make your own changes.

Again, congratulations on a great piece of work. Getting things integrated took less than an hour, but opens up a fascinating world for further exploration.

Best wishes

Jeremy.


-- 
You received this message because you are subscribed to the Google Groups "Beaker Browser" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beaker-browse...@googlegroups.com.
To post to this group, send email to beaker-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beaker-browser/0e388ddc-f0a7-405f-bcd4-552b7463676e%40googlegroups.com.

Paul Frazee

unread,
Dec 22, 2016, 9:27:02 AM12/22/16
to Jeremy Ruston, Rustem A, Beaker Browser
Jeremy, is it possible to use dat (the nodejs app) to sync nodejs-hosted TW folder between a few machines? Currently I'm using syncthingfor that. And, is dat sync two-way or only from server to "subscriber”?

Yes, I think that would be possible, and that Dat is pretty equivalent in this case. Just as with Dropbox and Syncthing you’d have to take care with conflicting updates from different machines.

The Dat CLI and desktop do interop with Beaker.

One thing to note: Dat doesn't support multi-writer yet. Each Dat is single-writer. Only the machine with the private key can write to the Dat.

We recommend strongly against copying the private key to other machines, except as a backup, because the Dat protocol considers conflicting writes to the log a corruption event.

Multi-writer Dats are in the roadmap.

-prf

Jeremy Ruston

unread,
Dec 22, 2016, 9:44:11 AM12/22/16
to Paul Frazee, Rustem A, Beaker Browser
Hi Paul,

Thanks

The Dat CLI and desktop do interop with Beaker.

Great, so I had hoped. I plan to use Dat directly with the Node.js configuration of TiddlyWiki.

One thing to note: Dat doesn't support multi-writer yet. Each Dat is single-writer. Only the machine with the private key can write to the Dat.

I quite like the constraint; it makes it impossible to fall back onto simple shared-space designs for collaboration systems, which I think we’ve comprehensively proved do not scale well.

We recommend strongly against copying the private key to other machines, except as a backup, because the Dat protocol considers conflicting writes to the log a corruption event.

So, right now, in the situation where I wanted to work on the same wiki on two or three different machines, might one be able to get along by maintaining a different site for each machine (forked from the same master), and have each machine hosting all of the sites. Then, when I’m on any particular machine, TiddlyWiki could scan the other wikis at startup, and pull in any newer tiddlers and save them as part of the wiki, thus bringing it up to date.

In other words, the set-up would be much as if I was a group of independent individuals, each working on their own thing, but accepting changes from other people in the group.

Multi-writer Dats are in the roadmap.

Great, it’ll be fun working on the UI :)

Best wishes

Jeremy


-prf

--
You received this message because you are subscribed to the Google Groups "Beaker Browser" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beaker-browse...@googlegroups.com.
To post to this group, send email to beaker-...@googlegroups.com.

Paul Frazee

unread,
Dec 22, 2016, 9:50:07 AM12/22/16
to Jeremy Ruston, Rustem A, Beaker Browser
So, right now, in the situation where I wanted to work on the same wiki on two or three different machines, might one be able to get along by maintaining a different site for each machine (forked from the same master), and have each machine hosting all of the sites. Then, when I’m on any particular machine, TiddlyWiki could scan the other wikis at startup, and pull in any newer tiddlers and save them as part of the wiki, thus bringing it up to date.

In other words, the set-up would be much as if I was a group of independent individuals, each working on their own thing, but accepting changes from other people in the group.


Yes exactly. You can define the merge however you like.  

Alex Hough

unread,
Jan 18, 2017, 6:28:00 AM1/18/17
to Beaker Browser
Hello All,

I am a keen TiddlyWiki fan and have started to experiment with Beaker and TiddlyWiki

I am starting to notice a few behavioural differences between it and Chrome

1) iframes in tiddler don't work
2) when creating a new tiddler, the focus doesn't move to the title field of the tiddler

My question: where is the best place to post these observations

best wishes


Alex

Paul Frazee

unread,
Jan 18, 2017, 3:30:26 PM1/18/17
to Beaker Browser
Jeremy, you probably have a repo for these kinds of issue, yeah?

Happy to help solve them (they may be beaker issues).

Mario Pietsch

unread,
Jan 18, 2017, 6:07:10 PM1/18/17
to Beaker Browser
Hi Alex,


On Wednesday, January 18, 2017 at 12:28:00 PM UTC+1, Alex Hough wrote:
I am starting to notice a few behavioural differences between it and Chrome

1) iframes in tiddler don't work

The tiddler editor actually is an iframe, and it works well for me. (My version is manually compiled, with the latest master branch. ubuntu)
Can you point to a page, that doesn't work for you. So I can check it out.
 
2) when creating a new tiddler, the focus doesn't move to the title field of the tiddler

It seems the <input> element actually has the focus, but it doesn't select the text, which may be a beaker bug, since it works in every other browser. 

have fun!
mario

Mario Pietsch

unread,
Jan 18, 2017, 6:18:35 PM1/18/17
to Beaker Browser
On Wednesday, January 18, 2017 at 9:30:26 PM UTC+1, Paul Frazee wrote:
Happy to help solve them (they may be beaker issues).

@Paul,

There's definitely something strange going on. I'll try to create a minimal testcase and create a github issue.

Symptom: If I open a page with an <input> element that has a focus attribute, it gets the focus but doesn't select the contained text.
If I "task switch" to a different application and switch back, the behaviour is as intended. Which means now the input element selected the text.
-> strange.

-mario


Mario Pietsch

unread,
Jan 18, 2017, 7:05:12 PM1/18/17
to Beaker Browser
On Thursday, January 19, 2017 at 12:18:35 AM UTC+1, Mario Pietsch wrote:
Symptom: If I open a page with an <input> element that has a focus attribute, it gets the focus but doesn't select the contained text.
If I "task switch" to a different application and switch back, the behaviour is as intended. Which means now the input element selected the text.
-> strange.

Alex Hough

unread,
Jan 19, 2017, 6:41:55 AM1/19/17
to Beaker Browser
Mario,

I am using Beaker on OSX, downloaded from the Website, and the latest pre-release

Another issue with TW on Beaker for me is that when I click a menu item in the sidebar, the UI doesn't automatically scroll to an already open tiddler

-Alex

Mario Pietsch

unread,
Jan 19, 2017, 9:26:10 AM1/19/17
to Beaker Browser
On Thursday, January 19, 2017 at 12:41:55 PM UTC+1, Alex Hough wrote:
I am using Beaker on OSX, downloaded from the Website, and the latest pre-release
Another issue with TW on Beaker for me is that when I click a menu item in the sidebar, the UI doesn't automatically scroll to an already open tiddler

Hi,
I did a short test with tiddlywiki.com. Everything works as expected. ubuntu 16.10, Beaker compiled form master:latest.
-m

Jim Pick

unread,
Jun 28, 2017, 12:29:02 PM6/28/17
to Beaker Browser
Hey, this is awesome! The first thing I thought of when I saw Beaker was putting TiddlyWiki into it. I'm definitely going to try this out.

I'm just reading the mailing list for the first time now.

I can't load the example site at dat://eaec2913b78d11a81a68775068fb3107e9029b746e7cbc6d1a1926190c9f6f05/index.html - I imagine it has no peers.

Cheers,

 - Jim

Mario Pietsch

unread,
Jun 28, 2017, 1:37:31 PM6/28/17
to Beaker Browser
On Wednesday, June 28, 2017 at 6:29:02 PM UTC+2, Jim Pick wrote:
I can't load the example site at dat://eaec2913b78d11a81a68775068fb3107e9029b746e7cbc6d1a1926190c9f6f05/index.html - I imagine it has no peers.

I'm pretty sure, that this link only worked as long as Jeremy had his PC active. ... It's a P2P web. So as long as nobody serves the stuff with a server, it will be fragile.

The second thing is: Beaker is a very fast moving target atm. ... So since beaker v0.7.3 a new TW version is needed, since the API has changed quite a bit.

If I'm right, the new prerelease: http://tiddlywiki.com/prerelease/  should contain the new single file saver.
If you download it from there and place the *.html as index.html into the beaker staging directory it should work.

have fun!
mario
Reply all
Reply to author
Forward
0 new messages