Repository navigation
Releases
0.16.3
Settings sync asks fewer questions. Works with trewd 0.15.0 or later, as 0.16.2 does; the server and trew are unchanged.
Changed
- Turning settings sync on asks whose settings to use only where the answer would change something. It asks the server, at that moment, about each of this device's settings in the group, and asks you only where the server has a different version of one, or the group has deleted one. Otherwise this device's settings go to the group, and the group's that this device does not have wait for you to apply them. It still asks when it cannot ask the server, offline or in the middle of a sync. The same goes for changing group, and for turning plugin settings sync on, whose warning about what plugins' settings can hold still shows.
Install
Update through BRAT, or download main.js, manifest.json and styles.css into .obsidian/plugins/trew-sync/ in the vault. Check them against SHA256SUMS, or with gh attestation verify FILE --repo waynehoover/trewsync.
0.16.2
A small fix for phones. Works with trewd 0.15.0 or later, as 0.16.1 does; the server and trew are unchanged.
Fixed
- On a phone, the search box in Deleted notes fills its row. It had shrunk to its icon, leaving almost no room to type.
Install
Update through BRAT, or download main.js, manifest.json and styles.css into .obsidian/plugins/trew-sync/ in the vault. Check them against SHA256SUMS, or with gh attestation verify FILE --repo waynehoover/trewsync.
0.16.1
A small release. Works with trewd 0.15.0 or later, as 0.16.0 does.
Fixed
- The restore window refuses a time the clocks skip or repeat, when daylight saving starts or ends, and says why, instead of quietly moving it to another instant.
- An undo or a restore the server committed is reported as done even when the sync after it fails to save here; the next sync puts it on disk. Before, it was reported as failed although every other device had it.
- With trewd 0.15.1, a note's history is fetched in pages by size as well as by count, so it loads for many versions of a very large file even on a server run with a lowered
-max-batch-bytes.
Changed
- The settings panel's phone layout no longer uses
:hasselectors, which re-check the whole page on every change. It looks the same.
Command-line client
trew 0.14.1 on npm adds trew rewind and trew undo, to put a folder, or every note, back as the server had it at a time and to reverse that, and attachments on demand: trew on-demand, trew fetch and trew free-space. It works with trewd 0.15.0 or later. See the changelog.
Install
Update through BRAT, or download main.js, manifest.json and styles.css into .obsidian/plugins/trew-sync/ in the vault. Check them against SHA256SUMS, or with gh attestation verify FILE --repo waynehoover/trewsync.
trewd 0.15.1
A small release. Every device keeps syncing through the upgrade, and plugins and trew on protocols 1 to 5 are answered as before.
Fixed
- A note's history is paged by size as well as by count for clients that ask, which are plugin 0.16.1 and
trew0.14.1. On a server run with a lowered-max-batch-bytes, a page of a very large file's history could be bigger than a device accepts, and the history failed to load. Older clients are answered as before.
Added
- The log says when a start upgraded the store's format, and from which schema: from then on an older
trewdrefuses the store, so going back means restoring a backup taken before the upgrade. The other commands that can upgrade the store say so too.
Upgrade
Replace the binary or the image and restart; there is no migration.
0.16.0
Two new features, and a fix for a reload bug that could leave two copies of the plugin syncing one vault. Upgrade the server first: this plugin needs trewd 0.15.0 or later, because it speaks protocol 5. Against an older server it says so and does not connect.
New
- Restore a folder to an earlier time. Right-click a folder and choose TrewSync: restore to an earlier time, or run Restore a folder, or the vault, to an earlier time for every note. Pick a date and time and press Preview: nothing changes until you have seen exactly which files would be put back and which made since would be removed. Restore applies exactly that preview on every device as one change, and Undo reverses it. Notes moved into the folder since stay where they are, notes moved out of it come back as a copy, and settings never change. If anything is saved between the preview and Restore, Restore is refused and asks for a new preview. See the plugin guide.
- Attachments on demand. In Manage this vault, choose to leave attachments over 1 MB (or 10 MB, or all of them) on the server. They download when you open a note that uses them, or tap them. Notes, canvases and settings always download. Free space removes attachments the setting covers from this device, each one first checked against the server and read back from it, and deleted rather than moved to the trash. Off by default, and per device. See the plugin guide.
Fixed
- Two copies of the plugin syncing one vault. Disabling, reloading or updating the plugin while it was still starting, most easily on a phone whose screen turned off at that moment, could leave the old copy syncing in the background with nothing able to stop it. On a test phone the old copy sent deletions of attachments the new one had just freed; they were restored from history. The old copy now stops for good when it is unloaded.
- After that happened once, every reload until Obsidian restarted showed the vault as not paired. It now starts normally.
- A changed setting is sent once it has been left alone for ten seconds, rather than on every save, so a settings tab that saves on each keystroke no longer fills the server's history.
Command-line client
trew 0.14.0 on npm speaks protocol 5 too, so it also needs trewd 0.15.0. A note a crash cut off part way through being replaced is put back at the next run instead of being sent to every device as a deletion.
Install
Update through BRAT, or download main.js, manifest.json and styles.css into .obsidian/plugins/trew-sync/ in the vault. Check them against SHA256SUMS, or with gh attestation verify FILE --repo waynehoover/trewsync.
0.15.3
Fixes from crash testing on a real phone and two independent reviews. Works with trewd 0.14.0 or later, as 0.15.2 does.
Fixed
- A note a crash cuts short while an incoming change is written into it is put right at the next start. If Android stops Obsidian in the middle of writing an update into a note, the note can be left holding only the start of the new text. Before, the next sync read that as your edit and sent it to every device; the original survived only in a conflict copy. Now each such update is written down first, and when Obsidian starts again the note goes back to what it held, the cut text is kept aside and reported, and the change is fetched again.
- A setting removed by Apply stays removed. If another sync ran before Obsidian reloaded, the record that holds back Obsidian's write-back of the old setting was lost, and the old setting could be sent back to every device. This also covers a setting this device never synced, removed by "Use the server's", and one held in a different key order.
- A setting another device deletes is deleted here too when this device held it in another key order. It used to be kept and never offered for Apply.
Install
Update through BRAT, or download main.js, manifest.json and styles.css into .obsidian/plugins/trew-sync/ in the vault. Check them against SHA256SUMS, or with gh attestation verify FILE --repo waynehoover/trewsync.
0.15.2
Two settings-sync fixes, one of them found by crashing Obsidian on a phone on purpose. Works with trewd 0.14.0 or later, as 0.15.1 does; the server is unchanged.
Fixed
- A settings file Obsidian resets is no longer sent to your other devices. If Android stops Obsidian part way through saving
app.json, Obsidian replaces the damaged file with an empty one the next time it starts, and that used to reach every other device as "all settings back to default". Now the device keeps it to itself and offers its synced settings back in Apply synced settings, so one Apply puts them back. - No second Apply after a reload. Obsidian re-saving a setting with the same values in another order or layout no longer counts as a change, so it is not sent and not offered for Apply again. Two devices that held a setting in different orders before they first synced no longer get a conflict copy of it either.
- Clearer names in Review conflicts and Apply. A plugin's settings now read as that plugin's, for example "dataview plugin settings: data.json", rather than as Obsidian's, and the Apply dialog no longer says every setting waiting came from another device.
Good to know
- Resetting every setting in a file to its default on purpose now reads the same way as Obsidian's reset, so that empty file is not sent. Changing any one setting afterwards gets past it.
Install
Update through BRAT, or download main.js, manifest.json and styles.css into .obsidian/plugins/trew-sync/ in the vault. Check them against SHA256SUMS, or with gh attestation verify FILE --repo waynehoover/trewsync.
trewd 0.15.0
Protocol 5, which lets a device restore a folder, or every note, to an earlier time. Every device keeps syncing through the upgrade: plugins and trew on protocols 1 to 4 are answered as before. Plugin 0.16.0 and trew 0.14.0 need this release, so upgrade the server first.
Added
- Restore from a device (protocol 5). A device previews one folder, or every note in the vault, as the server had it at a time, and then applies exactly that preview as one operation that any device, or
trewd undo, reverses. The time is the server's own record of when each version arrived, never a device's clock. Settings are never restored from a device;trewd restorestill restores everything, settings included. A notes save anywhere between the preview and the apply refuses it; a settings save does not. A restore over 10,000 versions, a time before the oldest recorded history, or a point below the last purge is refused rather than cut short or guessed.
Fixed
- An agent's preview is no longer expired by a device saving its settings between the preview and the apply.
- A settings save no longer shapes the Git export's commits. A history exported by 0.14.2 or earlier and rebuilt from scratch can differ where that happened, so keep
git-export/across the upgrade. - Undoing an operation now removes what it created before putting anything back, so undoing a restore of a case-only rename no longer collides with itself.
Upgrade
Replace the binary or the image and restart. The store moves to schema 5 on first start, and an older trewd refuses it afterwards, so take a backup first if you might go back (trewd backup).
trewd 0.14.2
A small addition for finding a deleted setting. Every device keeps syncing through the upgrade; nothing else changes.
Added
trewd deleted -settingslists deleted settings, which the list of deleted notes leaves out: Obsidian's own, themes, CSS snippets and plugins' settings, each with the version to restore it from (trewd cat -path ... -uid N). Before, a deleted setting could be found only by its history, which needs its exact path.
Upgrade
Replace the binary or the image and restart; there is no migration.
0.15.1
Fixes to settings sync found by a durability audit of Apply, and an honest first-sync count. Upgrade the server to 0.14.1 first if you sync plugin settings: it is what lets a plugin settings conflict's copy sync. Otherwise this plugin works with trewd 0.14.0 as 0.15.0 did.
Fixed
- "Use the server's" holds even when the first sync is interrupted. Turning on settings sync and choosing the server's settings could end with this device's settings sent to every other device instead, if the first sync stopped part way, for example because you typed in the open note while it ran. The choice now stays until every setting has been decided.
- A setting removed by Apply stays removed. If Obsidian or a plugin wrote the old setting back before the reload, that old copy was sent to every device, undoing the removal. It is now held and offered for Apply again.
- A plugin settings conflict keeps both versions where you can see them. The other device's version goes in a copy beside the plugin's settings that syncs (with server 0.14.1), appears in Review conflicts, and is named in the Apply dialog.
- Apply can't be cut short. Unlinking the vault while Apply runs is refused, and the Apply dialog stays open until Obsidian reloads.
- The first-sync count is right. It no longer counts deleted files, settings waiting for Apply or files waiting to retry as downloads, and no longer counts one file twice. "Downloading 0 of N" on an ordinary sync is gone.
- The Apply dialog counts a plugin once, whether or not a conflict copy of its settings is waiting too.
- Apply writes only what its dialog listed, even when the list was empty.
Install
Update through BRAT, or download main.js, manifest.json and styles.css into .obsidian/plugins/trew-sync/ in the vault. Check them against SHA256SUMS, or with gh attestation verify FILE --repo waynehoover/trewsync.