Tisty 1.3.0
Three things a document could not do before: refuse to be written, arrive from
somewhere else, and leave whole.
A document can now be locked, and a locked one is refused every write — not the
editor, not the terminal, not the assistant through MCP, and not a sync round
carrying another machine's copy over it. Its pages are shut with it, where it
sits is shut with it, and only the person opens it again, from the window. There
is no tool for unlocking here, on purpose. A lock is not the archive: an
archived document is finished, a locked one is guarded.
That took the event log to schema 9, which an older Tisty cannot read. So the
older Tisty now says so in the person's own language instead of handing over a
line about schema versions, and offers the update where the copy can install
itself. If the store on this machine is already newer, the window that will not
open says what happened and points at the download rather than dying with a code.
Documents can come in. import_doc reads a markdown file from disk and keeps it
here, tidying on the way what the editor could never have held: front matter,
HTML that markdown can say and HTML it cannot, comments, entities, links written
by reference, maths written between dollars, fences written in from the margin.
It says what it changed, and it leaves the file on disk untouched. Everything the
text points at beside it comes in too — pictures, video, PDFs — and the text is
pointed at Tisty's own copies, because a document that leans on a path outside
Tisty breaks the day it moves. What cannot come in loses its link and keeps its
words, and says why: a key never comes in, whatever it is named, and a file past
what a document holds — now 750 MB, since they live in your own cloud anyway —
has to be made smaller first.
Documents can go out. export_doc writes one to a folder with its pages
numbered in reading order and its attachments beside them, and the cover points
at them with plain relative links that any reader follows. archive_doc puts a
document away when it is finished or was written by mistake, and brings it back.
Nothing here deletes; there is still no tool for that.
Along the way, things that were quietly wrong stopped being wrong. Maths written
between dollars is refused by name instead of being destroyed on the first
opening. Rewriting a document no longer leaves its pages with nothing pointing
at them. Every write hands back the print it wrote, so the next one is not
refused as a conflict nobody caused. And a line of text that opened a thousand
tags used to take three minutes to read; it now takes two milliseconds.
Measured against a real export: 629 files out of Craft and Notion, none refused,
none altered that Tisty already accepted, and nothing left pointing outside.
What's Changed
- feat: nobody may write here, not even the assistant by @rgdevment in #18
- feat: a document arrives whole and leaves whole by @rgdevment in #19
- feat: a document brings its files with it by @rgdevment in #20
Full Changelog: v1.2.1...v1.3.0