Recent commits to derivepassphrase.git (4db75cd458b8c16baba9def7cbdc8d917fe0e017) https://git.schokokeks.org/derivepassphrase.git/tree/4db75cd458b8c16baba9def7cbdc8d917fe0e017 Recent commits feed provided by GitList. 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 Partially align notes printing and editing behavior with vault(1) Notes (if any) are printed after the derived passphrase is emitted. The `--notes` flag is an option, not a command: editing notes requires both `--notes` and `--config`. Any such edits happen after querying for master passphrases or SSH keys to use. Editing notes, even if a no-op, will at least register the service name as a known service. The `--unset` option now additionally accepts the "notes" argument. (Caveat: vault(1) actually leaves the terminal in a bad state during editing if called after querying a master passphrase or selecting an SSH key.) https://git.schokokeks.org/derivepassphrase.git/commit/7b0f4e121a5e688b59abad73b8b60bacfc7d02ed software@the13thletter.info (Marco Ricci) Tue, 04 Feb 2025 13:16:29 +0100 7b0f4e121a5e688b59abad73b8b60bacfc7d02ed Assert that notes should be printed (via xfailing test) Like vault(1), `derivepassphrase vault` should print the service's notes to standard error when deriving a passphrase. But due to an oversight, it currently doesn't. Explicitly test for this. https://git.schokokeks.org/derivepassphrase.git/commit/1e0bf18a3c0f707be7f2ad4c2b588bf3a57db3ad software@the13thletter.info (Marco Ricci) Tue, 04 Feb 2025 09:53:14 +0100 1e0bf18a3c0f707be7f2ad4c2b588bf3a57db3ad Merge topic branch 'usage-fixes' into master * t/usage-fixes: Reorder parametrizations with modified argument lists Implement all parametrization-related changes suggested in the TODOs Convert Parametrizations enums to Parametrize namespace Consolidate test parametrizations per test module Resolve dependency versions explicitly in pyproject.toml Fix inconsistent indentation in pyproject.toml Add static analysis and testing dependencies to "dev" extra Remove type annotations from enum value definitions Fix formatting nitpicks from ruff Document general changes to the test suite since 0.4.0 Document change in testing setup Adjust hypothesis deadlines globally and redo the profiles and slowdown factors https://git.schokokeks.org/derivepassphrase.git/commit/df99312f030ab62b3b565ae072f3b44cf23936e8 software@the13thletter.info (Marco Ricci) Sun, 02 Feb 2025 15:32:18 +0100 df99312f030ab62b3b565ae072f3b44cf23936e8 Reorder parametrizations with modified argument lists https://git.schokokeks.org/derivepassphrase.git/commit/14bb7ea6b91e37880114372d78af639a304a9909 software@the13thletter.info (Marco Ricci) Sun, 02 Feb 2025 13:39:03 +0100 14bb7ea6b91e37880114372d78af639a304a9909