Unlimited number of days for note history feature

I’d like to be able to keep history forever but currently I am forced to specify a number. I tried to enter a very big number (e.g. 36500 to keep history for 100 years) but this is only possible in the desktop application. On Android, the maximum configurable number is 730 days (2 years is way too less for me).

5 Likes

I'd like this, too.

What's the current behaviour though, does it sync history? Will history get deleted if I sync to my phone? :thinking:

2 Likes

I'm interested in this as well.

Looking through the code, it appears this should be fairly simple to implement.

Here, it should be possible to allow "0" as a valid option (since it won't conflict with the "revisionService.enabled" setting).

Then somewhere around here, you should be able to add an if statement like:

if (Setting.value('revisionService.ttlDays') !== 0)

Then if you have note history enabled, but the retention set to 0 days, notes should be kept forever.

The outstanding issues would then be to update the documentation, and ensure backwards compatibility in some way (since if you currently set note history to 0, old revisions get deleted immediately).

4 Likes

I agree, it would be very sensible to offer an unlimited history retention option.

The maximum appears to be 730 days on the iOS mobile app too. I'm guessing this number was derived from being 2x365 (i.e. two years) rather than being a hard technical limit?

My plan for a workaround is to export a backup copy of my notebook every 2 years, and then in the event of needing to review history, I would restore a backup to a clean Joplin instance and inspect it manually.

2 Likes

I don't believe that it has changed since last year, so keep in mind, note history is not included in the Jex backup/export.

3 Likes

I guess the thing to do is take a .tar.gz of .config/joplin-desktop

2 Likes

I am considering switching from Standard Notes to Joplin, I just installed Joplin and registered here to comment that indeed I also would like to be able to keep my full note history. Do the Joplin maintainers accept PRs?

Changing the upper limit is easy, but the more difficult task would be to update the UI to change this on mobile. It's already almost unusable so if we increase the limit to 999999 for instance, it's going to be hard to get the slider working. But suggestions are welcome.

I would say either a new menu item (keep indefintely) that, when ticked, greys out the slider item. Or allow the value to be edited and use something like "-" in place of the number. Or just make a position below "1" with the infinity symbol.

1 Like

Wouldn't it be better, at least in terms of accessibility, to replace the scrollbar with a simple text field to input the desired number? The current scrollbar is often unusable, e.g. by an older person who's got problems with precise finger presses, or when used on a very small display.

2 Likes

Changing the upper limit is easy, but the more difficult task would be to update the UI to change this on mobile. It's already almost unusable so if we increase the limit to 999999 for instance, it's going to be hard to get the slider working. But suggestions are welcome.

I'm guessing that maybe it can be solved with techniques like paging, or before that, can't solve this problem with virtual scrolling or the like?

I agree. A slider would make more sense for a setting that needs to be changed often and where the exact value of a setting isn't important (e.g. a color value).

In this case, you likely enter the number once and leave it. The slider doesn't show its usability power here, I'd say.

1 Like

I think the issue is that last time I checked there wasn't any good component to input large numbers, with validation, etc. Which means we'd have to build our own. The good thing with a slider is that min/max values and steps are built-in.

I think a simple workaround could be just adding + and - buttons next to the slider.

I'm writing here again, because at this very moment I'm trying to set the number of days to 7 and it's simply impossible. I'd add that this is on an 8" Android tablet, and I'm using a mouse instead of a finger, which is much more precise, yet I'm still unable to get the number set to 7 :hot_face:. Good luck doing that with a finger on a smaller smartphone screen.

The fact that the slider doesn't respond to keyboard arrow keys doesn't help either.

1 Like

Hey!

Is there open issue for this one yet? It is odd that the desktop version supports (in theory) unlimited note history but smartphones are limited to 750 days.

Thanks!

I want unlimited days history retention because I have many notes that I only edit once a year or two or three. It's even more important to have history for these because my memory is unlikely to be clear.

However I also have a lot of notes that I edit all the time that I don't need much history for. It's kind of a waste to keep a bunch of churn forever.

With unlimited history or even just very long history sooner later a body is likely to want to trim it. That brings up a host of challenges on how, especially if it's a note by note or notebook basis.

An alternative that I think would work for a lot of folks, myself included, is to tell history to keep number of revisions instead of days.

Related feature request: Note History

1 Like

A proper way would be a retention logic like this: GitHub - laurent22/rsync-time-backup: Time Machine style backup with rsync.

3 Likes

Yes! I would love that.

I just realized today that after deciding to set notes history to roughly 7 years (my personal standard info retention period), I couldn't do the same on Android. Ugh. I hope this is rectified before long. I'm wanting to use Joplin for much more professional endeavors (meaning a lot of my work needs to be version-managed) and I gotta have the retention. (and having a way to diff versions, even if just calling out to a Diff program, would be cool too) :sweat_smile:

I write technical documentation in Joplin, amongst other types of notes.
I would like to be able to manually save a version of a note with a comment (v1.0 for example) and then be able to compare across versions of that note.
I currently either use meld to compare documents or I use "git diff" if working in a git repo. Using an external utility for comparison would be fine for me.

1 Like