https://git.schokokeks.org/derivepassphrase.git/tree/9071ba82c566b077fb9869fca831bc24762fe151Recent commits to derivepassphrase.git (9071ba82c566b077fb9869fca831bc24762fe151)2025-04-09T19:24:00+02:00tag:gitlist.org,2012:commit/9071ba82c566b077fb9869fca831bc24762fe151Merge topic branch 'selection-menu-to-stderr' into master2025-04-09T19:24:00+02:00Marco Riccisoftware@the13thletter.info
<pre>* selection-menu-to-stderr:
Emit selection menu to standard error
</pre>
tag:gitlist.org,2012:commit/e06ec891b7a9924d410f005166b88d99c76ce278Emit selection menu to standard error2025-04-09T19:20:13+02:00Marco Riccisoftware@the13thletter.info
<pre>Consider the heading and the menu printed before a prompt as diagnostic
information, and output it to standard error.
</pre>
tag:gitlist.org,2012:commit/fc1cdf966c5753cdcb319a8e530b4c749951574aMerge topic branch 'abstract-cli-runner' into master2025-04-09T19:17:57+02:00Marco Riccisoftware@the13thletter.info
<pre>* abstract-cli-runner:
Wrap click.testing.CliRunner to directly return a ReadableResult
</pre>
tag:gitlist.org,2012:commit/d0a09fd0894b931b21a5908f96729dbe357d9ff5Wrap click.testing.CliRunner to directly return a ReadableResult2025-04-09T19:16:36+02:00Marco Riccisoftware@the13thletter.info
<pre>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.
</pre>
tag:gitlist.org,2012:commit/0d9a16bf731f7b6d0c52e488d0da32bef4910939Merge topic branch 'translation-de' into master2025-03-17T07:39:12+01:00Marco Riccisoftware@the13thletter.info
<pre>* 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
</pre>
tag:gitlist.org,2012:commit/67c0e85e3683710ece9674a480412ba8196e1cc0Purge hatch-gettext build plugin, and manually compile translations2025-03-16T23:59:30+01:00Marco Riccisoftware@the13thletter.info
<pre>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.
</pre>
tag:gitlist.org,2012:commit/abe57a7e94e54d5c8139e9661b9222000b24b99eAdd a German translation2025-03-16T23:53:16+01:00Marco Riccisoftware@the13thletter.info
<pre>Co-authored-by: Isabell Hoffstadt
</pre>
tag:gitlist.org,2012:commit/febfd09916cde8d5e47a26a3cad8a11176d758dbFix indentation handling in the translation template2025-03-16T23:50:53+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/b127dd363ce8ad0ad26e88c31200dc5c3736f8b4Fix miscellaneous issues with the CLI messages2025-03-16T23:13:47+01:00Marco Riccisoftware@the13thletter.info
<pre> * The "interactive input" replacement value for the
`WarnMsgTemplate.PASSPHRASE_NOT_NORMALIZED` message is now
translatable. The previous form was quirky and too clever, and
probably only worked in languages with similar grammar and sentence
structure.
* The `Label.DERIVEPASSPHRASE_VAULT_REPEAT_HELP_TEXT` message was
wrong due to an off-by-one error.
* The `Label.DERIVEPASSPHRASE_VAULT_PRINT_NOTES_BEFORE_HELP_TEXT`
message should reference the service metavar, not the term "service"
itself.
* The default notes placeholder text when using the vault legacy
editor interface is very wordy, and incited at least one test user
to delete it character by character before entering the new notes.
A shorter placeholder text will hopefully achieve the same effect in
less keystrokes.
* Several verb tense and punctuation mistakes were corrected.
</pre>
tag:gitlist.org,2012:commit/6372560fd2c27a91c55769659a1748a0cc3ca5d1Update translations template2025-03-16T13:33:37+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>