Recent commits to derivepassphrase.git (5bb568dd3fa3c5754132caa39cf57b3d13935048) https://git.schokokeks.org/derivepassphrase.git/tree/5bb568dd3fa3c5754132caa39cf57b3d13935048 Recent commits feed provided by GitList. Add links and anchors for version/upgrade information and changelog sections Add separate documentation pages for Python version information and `derivepassphrase` upgrade notes. Apart from the informative aspect, it also serves as an anchor which all code upgrade tasks and TODOs that belong to the same upgrade step can link to, and which can then be grepped for in the code. Relatedly, give the changelog proper, systematic, non-auto-generated anchor targets. https://git.schokokeks.org/derivepassphrase.git/commit/5bb568dd3fa3c5754132caa39cf57b3d13935048 software@the13thletter.info (Marco Ricci) Thu, 23 Jan 2025 10:53:54 +0100 5bb568dd3fa3c5754132caa39cf57b3d13935048 Merge topic branch 'usage-fixes' into master * t/usage-fixes: Move license in docstring to comments Refactor some if/elif/else-towers into dispatch tables Make the notes instruction text and marker translatable https://git.schokokeks.org/derivepassphrase.git/commit/47c8e076810aef98655077cf44e536ae57af8104 software@the13thletter.info (Marco Ricci) Thu, 23 Jan 2025 10:52:16 +0100 47c8e076810aef98655077cf44e536ae57af8104 Move license in docstring to comments https://git.schokokeks.org/derivepassphrase.git/commit/41ee4755f6c8ce5509e847952c4ebf7a00a5deb7 software@the13thletter.info (Marco Ricci) Thu, 23 Jan 2025 10:51:36 +0100 41ee4755f6c8ce5509e847952c4ebf7a00a5deb7 Refactor some if/elif/else-towers into dispatch tables https://git.schokokeks.org/derivepassphrase.git/commit/64c0b5259347546e33259889bc75e094ed6b44f7 software@the13thletter.info (Marco Ricci) Thu, 23 Jan 2025 10:51:36 +0100 64c0b5259347546e33259889bc75e094ed6b44f7 Make the notes instruction text and marker translatable The instruction text for editing notes is natural language text, and should therefore be translated, but was overlooked when determining translatable messages. To ensure that the instruction text and the marker cannot be mismatched, the marker is translated separately and inserted verbatim after the instruction text. https://git.schokokeks.org/derivepassphrase.git/commit/de8a116ceb0a86a13c38266088eedb5f53713d91 software@the13thletter.info (Marco Ricci) Thu, 23 Jan 2025 10:51:36 +0100 de8a116ceb0a86a13c38266088eedb5f53713d91 Merge topic branch 'code-cleanup' into master * t/code-cleanup: Fix improper use of `assert_never` Fix outdated test config specification Refactor pytest fixtures concerning SSH agent spawning Refactor vault config validity checking and falsy value cleanup functions Check at runtime if deprecated keyword arguments are used https://git.schokokeks.org/derivepassphrase.git/commit/6d9d005af10253c3ebdc4f6b2bda3d196fb739bb software@the13thletter.info (Marco Ricci) Wed, 22 Jan 2025 16:46:06 +0100 6d9d005af10253c3ebdc4f6b2bda3d196fb739bb Fix improper use of `assert_never` https://git.schokokeks.org/derivepassphrase.git/commit/4f4a484f760953687ebd96d3bfdc105b10bd2dcf software@the13thletter.info (Marco Ricci) Tue, 21 Jan 2025 21:02:31 +0100 4f4a484f760953687ebd96d3bfdc105b10bd2dcf Fix outdated test config specification The set of "consistently testable vault configurations" is determined by a specific settings to the validator function. The validator function no longer accepts the `allow_derivepassphrase_extensions` keyword parameter, but the vault test config selection logic was not yet updated to reflect this. https://git.schokokeks.org/derivepassphrase.git/commit/6360edaffe920cdeae6a661bcf477f8496225212 software@the13thletter.info (Marco Ricci) Tue, 21 Jan 2025 21:02:31 +0100 6360edaffe920cdeae6a661bcf477f8496225212 Refactor pytest fixtures concerning SSH agent spawning The two pytest fixtures `running_ssh_agent` and `spawn_ssh_agent` both deal with providing access to SSH agents, spawning them if necessary. They differ in the data they provide to the test functions (just the environment setup, or an actual connected `SSHAgentClient`) and in their parametrization (`running_ssh_agent` spawns any one, `spawn_ssh_agent` spawns all). However, despite the spawning logic being basically identical, both methods contained incompatible implementations of the logic, separately for named agent spawning and for system agent spawning. So, consolidate these functions into a single spawning function, and move all necessary supporting code (context manager for subprocess termination, typing protocol for spawn function) to the top level. https://git.schokokeks.org/derivepassphrase.git/commit/d0d1b6c0c5508419c327dd9e5e0fe3f783757d38 software@the13thletter.info (Marco Ricci) Tue, 21 Jan 2025 21:02:31 +0100 d0d1b6c0c5508419c327dd9e5e0fe3f783757d38 Refactor vault config validity checking and falsy value cleanup functions Introduce a new workhorse class that provides the validity checking and the falsy value cleanup functionality. The existing top-level functions are now mere facades. The primary reason is to keep the complexity and the nesting level of these functions low-ish: they still trigger linting errors that need to be silenced, but the nesting is tamer, and some common functionality (e.g., tree traversal) can be usefully extracted. https://git.schokokeks.org/derivepassphrase.git/commit/2cc4e4fffab112760803e80084f665d87b468069 software@the13thletter.info (Marco Ricci) Tue, 21 Jan 2025 21:02:31 +0100 2cc4e4fffab112760803e80084f665d87b468069