Recent commits to derivepassphrase.git (d539649e3f89b92ff3123ebd8a2dddce40f24719) https://git.schokokeks.org/derivepassphrase.git/tree/d539649e3f89b92ff3123ebd8a2dddce40f24719 Recent commits feed provided by GitList. Merge topic branch 'cleanup-lockfiles-in-test-harness' into master * cleanup-lockfiles-in-test-harness: Clean up configuration write lock files in the test suite https://git.schokokeks.org/derivepassphrase.git/commit/d539649e3f89b92ff3123ebd8a2dddce40f24719 software@the13thletter.info (Marco Ricci) Wed, 09 Apr 2025 19:29:34 +0200 d539649e3f89b92ff3123ebd8a2dddce40f24719 Clean up configuration write lock files in the test suite When using a temporary, isolated `derivepassphrase` configuration directory in the test suite, also clean up the matching configuration write lock file, which is not located in the configuration directory. https://git.schokokeks.org/derivepassphrase.git/commit/34c4a591bc6fdd3f5856f169f645dc07f0560bcc software@the13thletter.info (Marco Ricci) Wed, 09 Apr 2025 19:27:50 +0200 34c4a591bc6fdd3f5856f169f645dc07f0560bcc Merge topic branch 'selection-menu-to-stderr' into master * selection-menu-to-stderr: Emit selection menu to standard error https://git.schokokeks.org/derivepassphrase.git/commit/9071ba82c566b077fb9869fca831bc24762fe151 software@the13thletter.info (Marco Ricci) Wed, 09 Apr 2025 19:24:00 +0200 9071ba82c566b077fb9869fca831bc24762fe151 Emit selection menu to standard error Consider the heading and the menu printed before a prompt as diagnostic information, and output it to standard error. https://git.schokokeks.org/derivepassphrase.git/commit/e06ec891b7a9924d410f005166b88d99c76ce278 software@the13thletter.info (Marco Ricci) Wed, 09 Apr 2025 19:20:13 +0200 e06ec891b7a9924d410f005166b88d99c76ce278 Merge topic branch 'abstract-cli-runner' into master * abstract-cli-runner: Wrap click.testing.CliRunner to directly return a ReadableResult https://git.schokokeks.org/derivepassphrase.git/commit/fc1cdf966c5753cdcb319a8e530b4c749951574a software@the13thletter.info (Marco Ricci) Wed, 09 Apr 2025 19:17:57 +0200 fc1cdf966c5753cdcb319a8e530b4c749951574a Wrap click.testing.CliRunner to directly return a ReadableResult Instead of using `click.testing.CliRunner` directly and transforming the result, wrap the runner in a new class that does the necessary transformations on the result automatically. This indirection of the CLI runner also allows the wrapper to cope with (some) incompatible changes in `click` across versions, or even eventually swap out the underlying implementation completely. As a first incompatibility to bridge, `click` 8.2.0 (currently in beta) merges many bad or incomplete fixes for long-standing issues, but with no regard to backward compatibility. Of particular relevance, `click.testing.CliRunner` no longer accepts the `mix_stderr` argument,[^1] and the meanings of the `output` and the `stdout` attribute of `click.testing.Result` have changed.[^2] These two incompatibilities are handled by the wrapper. [^1]: This breaks practically every call to the runner: `mix_stderr` defaults to `True`, thus the default behavior is to mangle the output streams. Why would you want that, in your testing machinery no less, where automatically mangling or discarding information behind the scenes is detrimental to debugging?! As a consequence, `mix_stderr` *has* to be specified if you want output streams not to be mangled, and if you want them to be mangled, you *should* specify `mix_stderr` explicitly. So basically, you always specify `mix_stderr`. And thus removing the (definition of the) `mix_stderr` argument breaks practically every call to the runner. [^2]: This is complementary to the removal of the `mix_stderr` argument: the mixed output is now always stored in the `output` attribute, and the `stdout` is the true standard output. Of course, this contradicts the previous use of `output` and `stdout`, where `output` was the true standard output, and `stdout` was a convenience alias via an extra layer of redirection. https://git.schokokeks.org/derivepassphrase.git/commit/d0a09fd0894b931b21a5908f96729dbe357d9ff5 software@the13thletter.info (Marco Ricci) Wed, 09 Apr 2025 19:16:36 +0200 d0a09fd0894b931b21a5908f96729dbe357d9ff5 Merge topic branch 'translation-de' into master * translation-de: Purge hatch-gettext build plugin, and manually compile translations Add a German translation Fix indentation handling in the translation template Fix miscellaneous issues with the CLI messages Update translations template https://git.schokokeks.org/derivepassphrase.git/commit/0d9a16bf731f7b6d0c52e488d0da32bef4910939 software@the13thletter.info (Marco Ricci) Mon, 17 Mar 2025 07:39:12 +0100 0d9a16bf731f7b6d0c52e488d0da32bef4910939 Purge hatch-gettext build plugin, and manually compile translations The hatch-gettext plugin requires Python 3.10 or higher, and consequently hinders non-wheel installation of derivepassphrase on Python 3.9 or PyPy 3.9. The project also is, upon closer inspection, alpha or beta quality: there are no tests, there appear to be no active users (no issues or non-author pull requests filed), and the code contains some dubious constructs (such as assembling all calls to external programs as command-line strings, then naively splitting them on whitespace). I do not want to commit to using this build plugin in any non-prototype setting. So remove these settings from the build system, build the translation message catalogs ourselves, and unignore the respective paths. https://git.schokokeks.org/derivepassphrase.git/commit/67c0e85e3683710ece9674a480412ba8196e1cc0 software@the13thletter.info (Marco Ricci) Sun, 16 Mar 2025 23:59:30 +0100 67c0e85e3683710ece9674a480412ba8196e1cc0 Add a German translation Co-authored-by: Isabell Hoffstadt https://git.schokokeks.org/derivepassphrase.git/commit/abe57a7e94e54d5c8139e9661b9222000b24b99e software@the13thletter.info (Marco Ricci) Sun, 16 Mar 2025 23:53:16 +0100 abe57a7e94e54d5c8139e9661b9222000b24b99e Fix indentation handling in the translation template https://git.schokokeks.org/derivepassphrase.git/commit/febfd09916cde8d5e47a26a3cad8a11176d758db software@the13thletter.info (Marco Ricci) Sun, 16 Mar 2025 23:50:53 +0100 febfd09916cde8d5e47a26a3cad8a11176d758db