Recent commits to derivepassphrase.git (f81c616548e53fe088636bf9eb6fbaf7873c8c25) https://git.schokokeks.org/derivepassphrase.git/tree/f81c616548e53fe088636bf9eb6fbaf7873c8c25 Recent commits feed provided by GitList. Document recent changes to notes handling in the changelog https://git.schokokeks.org/derivepassphrase.git/commit/f81c616548e53fe088636bf9eb6fbaf7873c8c25 software@the13thletter.info (Marco Ricci) Fri, 07 Feb 2025 19:09:54 +0100 f81c616548e53fe088636bf9eb6fbaf7873c8c25 Optionally support printing vault service notes before the passphrase When deriving a passphrase, if the service has any notes, vault(1) prints the notes after the passphrase. However, akin to source code comments before the code in question, service notes may actually be better placed above the derived passphrase instead, for some types of notes. Support such placement via a new command-line option `--print-notes-before`; the default, vault(1)-compatible behavior can be explicitly selected via `--print-notes-after`. https://git.schokokeks.org/derivepassphrase.git/commit/c6a84c41a8c866b8f0467b5772a62515e7fcf3b9 software@the13thletter.info (Marco Ricci) Fri, 07 Feb 2025 16:01:14 +0100 c6a84c41a8c866b8f0467b5772a62515e7fcf3b9 Document the modern editor interface Update the manpages to include the corrected and extended handling of the `--notes` config option. That is, document the `--modern-editor-interface` and `--vault-legacy-editor-interface` options, and the new warning messages about `--notes` requiring `--config` and that a backup copy of the notes have been made. Some minor adjustments to the vault(1) legacy editor interface warning messages were made to ease inclusion in the manpage while making the intent clear. Additionally, derivepassphrase with the legacy interface correctly fills in the old notes contents if any, instead of unconditionally filling in the placeholder text. https://git.schokokeks.org/derivepassphrase.git/commit/18e1bf52dbb2b0ea4e3c1eeb9c400429b1bbe756 software@the13thletter.info (Marco Ricci) Fri, 07 Feb 2025 15:19:22 +0100 18e1bf52dbb2b0ea4e3c1eeb9c400429b1bbe756 Reintroduce a "modern" editor interface à la git-commit or git-rebase Reintroduce the previous git-like editor interface as the "modern" editor interface to the "vault" subcommand, and provide explicit options `--modern-editor-interface` and `--vault-legacy-editor-interface`, defaulting to the latter for compatibility. Furthermore, for the legacy interface, introduce a backup copy of the notes to guard against accidental data loss, because the legacy interface offers no way to abort mid-editing, making fatal mistakes all the more likely. https://git.schokokeks.org/derivepassphrase.git/commit/61fbc909d899ac2bd791b14c20987553b638ac4f software@the13thletter.info (Marco Ricci) Thu, 06 Feb 2025 14:27:21 +0100 61fbc909d899ac2bd791b14c20987553b638ac4f Warn the user when `derivepassphrase vault --notes` is ineffective In 7b0f4e121a5e688b59abad73b8b60bacfc7d02ed, we adjusted `derivepassphrase` to only act upon `--notes` if `--config` is also given, for compatibility with vault(1). However, this is incompatible with previous versions of `derivepassphrase`, and potentially confusing even to vault(1) users. As such, `derivepassphrase vault` now emits a warning if it is called with `--notes` but without `--config`. https://git.schokokeks.org/derivepassphrase.git/commit/4db75cd458b8c16baba9def7cbdc8d917fe0e017 software@the13thletter.info (Marco Ricci) Thu, 06 Feb 2025 13:16:37 +0100 4db75cd458b8c16baba9def7cbdc8d917fe0e017 Use a vault(1)-compatible naive notes editing system We originally provided a modern git-like editor interface, with a marker for explanatory texts and with support for aborting the edit by leaving the file empty. vault(1) however takes the contents of the notes file literally. For compatibility, we must do the same. https://git.schokokeks.org/derivepassphrase.git/commit/7b67d930b8166f6fa1b68dca568134f5d31e4b10 software@the13thletter.info (Marco Ricci) Wed, 05 Feb 2025 14:44:16 +0100 7b67d930b8166f6fa1b68dca568134f5d31e4b10 Use hypothesis for notes handling tests Have the existing or the new notes be generated data (whichever is appropriate). Also handle the previously untested case of aborting the notes edit when there are no stored notes yet. *This* test does not use hypothesis. https://git.schokokeks.org/derivepassphrase.git/commit/385f2ab4c92bd5c34616b9897ca9c16b1dfaa114 software@the13thletter.info (Marco Ricci) Wed, 05 Feb 2025 14:40:56 +0100 385f2ab4c92bd5c34616b9897ca9c16b1dfaa114 Adapt notes printing test to arbitrary notes https://git.schokokeks.org/derivepassphrase.git/commit/f77599178003fd98fce957ea4ca39a127f3131e2 software@the13thletter.info (Marco Ricci) Wed, 05 Feb 2025 12:07:24 +0100 f77599178003fd98fce957ea4ca39a127f3131e2 Clean up notes testing functions They had similar bad defaults and easily avoidable linting overrides like the no-op test. https://git.schokokeks.org/derivepassphrase.git/commit/e0bef32b866004b4ef0cd045b2dea90d0be12f97 software@the13thletter.info (Marco Ricci) Tue, 04 Feb 2025 13:30:22 +0100 e0bef32b866004b4ef0cd045b2dea90d0be12f97 Use a better test for no-op editing notes "no-op" editing of notes makes no sense for a service which does not have notes yet. Also, "no-op" editing may involve extra whitespace at the beginning or end of the contents. Use these two facts to construct a better test. Also, do not use click's convenience feature of using a `None` return to signal that no changes have been made. The check is heuristic in nature (it involves filesystem timestamps), and vault(1) actually uses a more naive system that does not map cleanly to click's system. https://git.schokokeks.org/derivepassphrase.git/commit/55547619b270f05ebef7934129532dab9b1a3af5 software@the13thletter.info (Marco Ricci) Tue, 04 Feb 2025 13:17:03 +0100 55547619b270f05ebef7934129532dab9b1a3af5