diff --git a/src/becca/entities/bnote.ts b/src/becca/entities/bnote.ts index 2c4384eb1..9896567e8 100644 --- a/src/becca/entities/bnote.ts +++ b/src/becca/entities/bnote.ts @@ -1614,15 +1614,19 @@ class BNote extends AbstractBeccaEntity { revision.setContent(noteContent); - this.eraseExcessRevisions() + this.eraseExcessRevisionSnapshots() return revision; }); } // Limit the number of Snapshots to revisionSnapshotNumberLimit // Delete older Snapshots that exceed the limit - eraseExcessRevisions() { - const revisionSnapshotNumberLimit = parseInt(optionService.getOption('revisionSnapshotNumberLimit')); + eraseExcessRevisionSnapshots() { + // lable has a higher priority + let revisionSnapshotNumberLimit = parseInt(this.getLabelValue("versioningLimit") ?? ""); + if (!Number.isInteger(revisionSnapshotNumberLimit)) { + revisionSnapshotNumberLimit = parseInt(optionService.getOption('revisionSnapshotNumberLimit')); + } if (revisionSnapshotNumberLimit >= 0) { const revisions = this.getRevisions(); if (revisions.length - revisionSnapshotNumberLimit > 0) { diff --git a/src/routes/api/revisions.ts b/src/routes/api/revisions.ts index f791896e4..9e1e4ffac 100644 --- a/src/routes/api/revisions.ts +++ b/src/routes/api/revisions.ts @@ -116,7 +116,7 @@ function eraseRevision(req: Request) { function eraseAllExcessRevisions() { let allNoteIds = sql.getRows('SELECT noteId FROM notes') as { noteId: string }[]; allNoteIds.forEach(row => { - becca.getNote(row.noteId)?.eraseExcessRevisions() + becca.getNote(row.noteId)?.eraseExcessRevisionSnapshots() }); }