2 min read

LegendKeeper 0.7.9: Article sorting, image resizing, ephemeral version history, bug fixes

* You can now sort sub-articles alphanumerically. Keep in mind this is not just a presentational sort; this is changing the canonical order of the articles.

* A bug prevented embedded images from being smaller than 320px. This bug has been remedied; you can now size images nearly as small as you like.

* The embedded image resizer no longer snaps to invisible, pre-determined widths.

* Fixed bug that caused atlas links to break.

* The floating edit toolbar behaves a little differently now. I think it feels more responsive.

* Fixed bug that prevented the deletion of some projects.

* Added a client-side article history system. (More on this below).

One of the challenging things about building an online text editor is what to do when the browser's internet connection is unstable. Ideally, in the event of a connection loss, the user could continue editing, the browser could come back online later, reconcile the changes, and sync with the server. This is what we'd call "full offline support with conflict resolution". As you can imagine, this is difficult to build, but LK has a clear path to this functionality, and it's a few big "roadmap slots" away.

In the meantime, we need some kind of mitigation to reduce data loss upon losing internet connection, or one of your collaborators steamrolling your stuff, or accidentally deleting a bunch of stuff and navigating away---The worst thing that a creative application can do is lose your creations. So, until we have full offline support, I've added a lightweight, local history system.  This history system does a couple things:

1. It keeps a local record of the latest version that you personally edited. This "latest version" is not overwritten by remote changes--only by you editing the document locally.

2. Every few minutes, it saves and timestamps a version of your document, holding on to the most recent 64 versions.

You can browse these snapshots and restore them as you please. This is not an ideal solution to the many problems associated with change tracking and recovery in a distributed system. A better solution would be full offline support with automatic conflict resolution, shared version history, and document time travel. That's essentially building Google Docs, so this is a temporary solution until I get to that. ;)

Published
Written by Braden HerndonRawand Al-Issa

Join 3,000+ worldbuilders getting practical tips

The LegendKeeper newsletter provides worldbuilding deep dives, RPG content, inspiration, and occasional product updates.

Unsubscribe anytime. Your email will be guarded with unbreakable wards.
Read our privacy policy.